summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/brcm80211/brcmsmac/main.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2012-01-18 15:59:32 -0500
committerDavid S. Miller <davem@davemloft.net>2012-01-18 15:59:32 -0500
commit1c659a4475ec2b2f4495e4773c417a9100cbd9de (patch)
tree26c026d7377624b2fd56f1bb369b31a8b34d043e /drivers/net/wireless/brcm80211/brcmsmac/main.c
parentccb19d263fd1c9e34948e2158c53eacbff369344 (diff)
parent4f3d09de38d234ce7ffba5ec5a7e6704f983d375 (diff)
downloadtalos-obmc-linux-1c659a4475ec2b2f4495e4773c417a9100cbd9de.tar.gz
talos-obmc-linux-1c659a4475ec2b2f4495e4773c417a9100cbd9de.zip
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
Diffstat (limited to 'drivers/net/wireless/brcm80211/brcmsmac/main.c')
-rw-r--r--drivers/net/wireless/brcm80211/brcmsmac/main.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/wireless/brcm80211/brcmsmac/main.c b/drivers/net/wireless/brcm80211/brcmsmac/main.c
index f7ed34034f88..f6affc6fd12a 100644
--- a/drivers/net/wireless/brcm80211/brcmsmac/main.c
+++ b/drivers/net/wireless/brcm80211/brcmsmac/main.c
@@ -7981,13 +7981,21 @@ int brcms_c_get_curband(struct brcms_c_info *wlc)
void brcms_c_wait_for_tx_completion(struct brcms_c_info *wlc, bool drop)
{
+ int timeout = 20;
+
/* flush packet queue when requested */
if (drop)
brcmu_pktq_flush(&wlc->pkt_queue->q, false, NULL, NULL);
/* wait for queue and DMA fifos to run dry */
- while (!pktq_empty(&wlc->pkt_queue->q) || brcms_txpktpendtot(wlc) > 0)
+ while (!pktq_empty(&wlc->pkt_queue->q) || brcms_txpktpendtot(wlc) > 0) {
brcms_msleep(wlc->wl, 1);
+
+ if (--timeout == 0)
+ break;
+ }
+
+ WARN_ON_ONCE(timeout == 0);
}
void brcms_c_set_beacon_listen_interval(struct brcms_c_info *wlc, u8 interval)
OpenPOWER on IntegriCloud