wl12xx: fix race condition during recovery in AP mode
authorArik Nemtsov <arik@wizery.com>
Mon, 18 Apr 2011 11:15:28 +0000 (14:15 +0300)
committerLuciano Coelho <coelho@ti.com>
Mon, 2 May 2011 07:31:28 +0000 (10:31 +0300)
commit7dece1c8e1044287287d44ac183a946333b55fc3
tree82330386e96e8292bdea78301af98c047eb8a51c
parent2dc5a5c2c656b9029a0e635bb3a1cbcfbcb4ca5c
wl12xx: fix race condition during recovery in AP mode

When operating as AP, the TX queues are not stopped when we start
recovery. mac80211 is notified only after the fact. When there is
pending TX, it will be queued even after the FW is down. This leads to
situations where the TX queues are stopped (because of the TX-watermark
mechanism), and are never woken up when we return from recovery.

Fix this by explicitly stopping the TX queues when before initiating
recovery.

Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
drivers/net/wireless/wl12xx/main.c
drivers/net/wireless/wl12xx/tx.c
drivers/net/wireless/wl12xx/tx.h