aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43
diff options
context:
space:
mode:
authorMichael Buesch <mb@bu3sch.de>2009-02-19 14:17:36 -0500
committerJohn W. Linville <linville@tuxdriver.com>2009-02-27 14:52:47 -0500
commitca2d559e1a41d62a5b49fb9ab513025ea27f1e7c (patch)
tree3123aa59d4323b1cd0861946761377e91ffe86e5 /drivers/net/wireless/b43
parentdbaaa147d6396c41d8f31156a777dfdaae2335a4 (diff)
b43: Move DMA stop sanity check
Move the DMA stop sanity check up a few lines, so it's actually theoretically possible to trigger. (But it still shouldn't trigger, of course). Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43')
-rw-r--r--drivers/net/wireless/b43/dma.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/b43/dma.c b/drivers/net/wireless/b43/dma.c
index 6d65a02b7052..0f021c666d08 100644
--- a/drivers/net/wireless/b43/dma.c
+++ b/drivers/net/wireless/b43/dma.c
@@ -1306,16 +1306,18 @@ int b43_dma_tx(struct b43_wldev *dev, struct sk_buff *skb)
1306 } 1306 }
1307 1307
1308 spin_lock_irqsave(&ring->lock, flags); 1308 spin_lock_irqsave(&ring->lock, flags);
1309
1309 B43_WARN_ON(!ring->tx); 1310 B43_WARN_ON(!ring->tx);
1311 /* Check if the queue was stopped in mac80211,
1312 * but we got called nevertheless.
1313 * That would be a mac80211 bug. */
1314 B43_WARN_ON(ring->stopped);
1315
1310 if (unlikely(free_slots(ring) < SLOTS_PER_PACKET)) { 1316 if (unlikely(free_slots(ring) < SLOTS_PER_PACKET)) {
1311 b43warn(dev->wl, "DMA queue overflow\n"); 1317 b43warn(dev->wl, "DMA queue overflow\n");
1312 err = -ENOSPC; 1318 err = -ENOSPC;
1313 goto out_unlock; 1319 goto out_unlock;
1314 } 1320 }
1315 /* Check if the queue was stopped in mac80211,
1316 * but we got called nevertheless.
1317 * That would be a mac80211 bug. */
1318 B43_WARN_ON(ring->stopped);
1319 1321
1320 /* Assign the queue number to the ring (if not already done before) 1322 /* Assign the queue number to the ring (if not already done before)
1321 * so TX status handling can use it. The queue to ring mapping is 1323 * so TX status handling can use it. The queue to ring mapping is