diff options
author | Arik Nemtsov <arik@wizery.com> | 2011-07-07 14:25:23 +0300 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-07-08 09:39:47 +0300 |
commit | f1a46384ad568f72c11edbe2a3ec284bf32f2dbd (patch) | |
tree | 2d303dfdcbf970db11aa858b1a02fb7d29ef4d4f /drivers/net/wireless/wl12xx/wl12xx.h | |
parent | 097f882153f0ec13617074fa3bdb683b8215e20c (diff) | |
download | blackbird-op-linux-f1a46384ad568f72c11edbe2a3ec284bf32f2dbd.tar.gz blackbird-op-linux-f1a46384ad568f72c11edbe2a3ec284bf32f2dbd.zip |
wl12xx: start/stop queues according to global per-AC counters
Split tx_queue_count to count per-AC skb's queued, instead of relying on
the skb-queue len. The skb queues used were only valid in STA-mode, as
AP-mode uses per-link queues.
This fixes a major regression in AP-mode, caused by the patch
"wl12xx: implement Tx watermarks per AC". With that patch applied, we
effectively had no regulation of Tx queues in AP-mode. Therefore a
sustained high rate of Tx could cause exhaustion of the skb memory pool.
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/wl12xx.h')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl12xx.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/wireless/wl12xx/wl12xx.h b/drivers/net/wireless/wl12xx/wl12xx.h index 94bfc0a25d57..1a8751eb8140 100644 --- a/drivers/net/wireless/wl12xx/wl12xx.h +++ b/drivers/net/wireless/wl12xx/wl12xx.h @@ -438,7 +438,7 @@ struct wl1271 { /* Frames scheduled for transmission, not handled yet */ struct sk_buff_head tx_queue[NUM_TX_QUEUES]; - int tx_queue_count; + int tx_queue_count[NUM_TX_QUEUES]; long stopped_queues_map; /* Frames received, not handled yet by mac80211 */ |