wl12xx: start/stop queues according to global per-AC counters
authorArik Nemtsov <arik@wizery.com>
Thu, 7 Jul 2011 11:25:23 +0000 (14:25 +0300)
committerLuciano Coelho <coelho@ti.com>
Fri, 8 Jul 2011 06:39:47 +0000 (09:39 +0300)
commitf1a46384ad568f72c11edbe2a3ec284bf32f2dbd
tree2d303dfdcbf970db11aa858b1a02fb7d29ef4d4f
parent097f882153f0ec13617074fa3bdb683b8215e20c
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>
drivers/net/wireless/wl12xx/debugfs.c
drivers/net/wireless/wl12xx/main.c
drivers/net/wireless/wl12xx/ps.c
drivers/net/wireless/wl12xx/tx.c
drivers/net/wireless/wl12xx/tx.h
drivers/net/wireless/wl12xx/wl12xx.h