Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 327967
b: refs/heads/master
c: 90d03ff
h: refs/heads/master
i:
  327965: 4b483c2
  327963: b2f31ab
  327959: bc93529
  327951: 9fde0e9
  327935: 3ebd1de
v: v3
  • Loading branch information
Hante Meuleman authored and John W. Linville committed Sep 12, 2012
1 parent e24d613 commit 5584619
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 12 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 871fc09f1c8a9c0652afa7c673ae401fdb3f4aeb
refs/heads/master: 90d03ff71b52ba1d9d53f18c07d89566ba0263b4
2 changes: 1 addition & 1 deletion trunk/drivers/net/wireless/brcm80211/brcmfmac/dhd_bus.h
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ extern int brcmf_attach(uint bus_hdrlen, struct device *dev);
extern void brcmf_detach(struct device *dev);

/* Indication from bus module to change flow-control state */
extern void brcmf_txflowcontrol(struct device *dev, int ifidx, bool on);
extern void brcmf_txflowblock(struct device *dev, bool state);

/* Notify tx completion */
extern void brcmf_txcomplete(struct device *dev, struct sk_buff *txp,
Expand Down
16 changes: 10 additions & 6 deletions trunk/drivers/net/wireless/brcm80211/brcmfmac/dhd_linux.c
Original file line number Diff line number Diff line change
Expand Up @@ -350,19 +350,23 @@ static int brcmf_netdev_start_xmit(struct sk_buff *skb, struct net_device *ndev)
return 0;
}

void brcmf_txflowcontrol(struct device *dev, int ifidx, bool state)
void brcmf_txflowblock(struct device *dev, bool state)
{
struct net_device *ndev;
struct brcmf_bus *bus_if = dev_get_drvdata(dev);
struct brcmf_pub *drvr = bus_if->drvr;
int i;

brcmf_dbg(TRACE, "Enter\n");

ndev = drvr->iflist[ifidx]->ndev;
if (state == ON)
netif_stop_queue(ndev);
else
netif_wake_queue(ndev);
for (i = 0; i < BRCMF_MAX_IFS; i++)
if (drvr->iflist[i]) {
ndev = drvr->iflist[i]->ndev;
if (state)
netif_stop_queue(ndev);
else
netif_wake_queue(ndev);
}
}

static int brcmf_host_event(struct brcmf_pub *drvr, int *ifidx,
Expand Down
8 changes: 4 additions & 4 deletions trunk/drivers/net/wireless/brcm80211/brcmfmac/dhd_sdio.c
Original file line number Diff line number Diff line change
Expand Up @@ -2235,8 +2235,8 @@ static uint brcmf_sdbrcm_sendfromq(struct brcmf_sdio *bus, uint maxframes)
if (bus->sdiodev->bus_if->drvr_up &&
(bus->sdiodev->bus_if->state == BRCMF_BUS_DATA) &&
bus->txoff && (pktq_len(&bus->txq) < TXLOW)) {
bus->txoff = OFF;
brcmf_txflowcontrol(bus->sdiodev->dev, 0, OFF);
bus->txoff = false;
brcmf_txflowblock(bus->sdiodev->dev, false);
}

return cnt;
Expand Down Expand Up @@ -2672,8 +2672,8 @@ static int brcmf_sdbrcm_bus_txdata(struct device *dev, struct sk_buff *pkt)
spin_unlock_bh(&bus->txqlock);

if (pktq_len(&bus->txq) >= TXHI) {
bus->txoff = ON;
brcmf_txflowcontrol(bus->sdiodev->dev, 0, ON);
bus->txoff = true;
brcmf_txflowblock(bus->sdiodev->dev, true);
}

#ifdef DEBUG
Expand Down

0 comments on commit 5584619

Please sign in to comment.