linux/drivers/net/wireless/ti/wlcore
Victor Goldenshtein 5cbba2d48a wlcore: fix occasional AP TX stop after recovery
The fw_status wasn't zeroed during allocation, resulting
in uninitialized var usage, and finally causing AP
traffic stop after recovery.

The wrong value in fw_status_2->counters.tx_lnk_free_pkts
led to a bad lnk->allocated_pkts calculation in
wlcore_fw_status(), causing wl18xx_lnk_low_prio() to return
FALSE (lnk->allocated_pkts > thold).
This eventually blocked the link in wlcore_tx_work_locked(),
as wl1271_skb_dequeue() continuously returned NULL.

Fix it by zeroing wl->fw_status_1/2 during allocation.

Signed-off-by: Victor Goldenshtein <victorg@ti.com>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2013-06-17 12:14:29 +03:00
..
acx.c wlcore: report rssi from roaming statistics 2013-03-25 12:33:11 +02:00
acx.h wlcore: report rssi from roaming statistics 2013-03-25 12:33:11 +02:00
boot.c wlcore: use single-role version when verifying the PLT firmware 2013-02-08 10:05:01 +02:00
boot.h wlcore: create private static_data area and add operation to parse it 2012-06-05 15:58:20 +03:00
cmd.c wlcore: AP-mode - recover security seq num for stations 2013-03-25 12:33:12 +02:00
cmd.h wlcore: allow fw commands to fail 2012-12-04 17:05:52 +02:00
conf.h wlcore: increase scan dwell times if no activity 2012-12-11 10:25:39 +02:00
debug.h wlcore: use print_hex_dump_debug() 2013-03-25 12:36:24 +02:00
debugfs.c wlcore: consolidate tx_seq handling on recovery 2013-03-25 12:33:11 +02:00
debugfs.h wlcore: add debugfs macro to help print fw statistics arrays 2012-06-05 15:58:08 +03:00
event.c wlcore: don't attempt to roam in case of p2p 2013-03-25 12:33:12 +02:00
event.h wlcore: support scan reports during periodic scan 2012-12-11 12:37:23 +02:00
hw_ops.h wlcore/wl18xx: change priority calculations for links 2012-12-11 12:25:18 +02:00
ini.h wlcore/wl12xx: add support for HP and SKW FEM radio manufacturers 2012-06-13 21:52:56 +03:00
init.c wlcore: remove WLCORE_QUIRK_NO_ELP 2012-12-04 17:05:52 +02:00
init.h
io.c wlcore: Prevent processing of work items during op_stop 2012-07-10 12:10:14 -04:00
io.h wlcore: Always pass DMA-able buffers to mmc functions 2012-12-11 12:37:24 +02:00
Kconfig wlcore: move wl12xx_platform_data up and make it truly optional 2013-02-08 10:05:02 +02:00
main.c wlcore: fix occasional AP TX stop after recovery 2013-06-17 12:14:29 +03:00
Makefile wlcore: move sysfs handling to a separate file 2013-06-17 11:56:59 +03:00
ps.c wlcore: hold jiffies in unsigned long 2013-06-17 12:14:29 +03:00
ps.h
rx.c wlcore: improve handling for Rx errors 2012-12-11 10:26:23 +02:00
rx.h wlcore: improve handling for Rx errors 2012-12-11 10:26:23 +02:00
scan.c wlcore: support scan reports during periodic scan 2012-12-11 12:37:23 +02:00
scan.h wlcore: support scan reports during periodic scan 2012-12-11 12:37:23 +02:00
sdio.c wlcore: remove newly introduced alloc/OOM messages 2013-02-11 15:34:58 -05:00
spi.c wlcore: remove newly introduced alloc/OOM messages 2013-02-11 15:34:58 -05:00
sysfs.c wlcore: move sysfs handling to a separate file 2013-06-17 11:56:59 +03:00
sysfs.h wlcore: move sysfs handling to a separate file 2013-06-17 11:56:59 +03:00
testmode.c wlcore: Prevent interaction with HW after recovery is queued 2012-09-27 12:13:50 +03:00
testmode.h
tx.c wlcore: set default_wep_key when configured 2013-06-17 12:14:29 +03:00
tx.h wlcore: don't take mutex before stopping queues 2012-12-11 12:37:22 +02:00
wl12xx_80211.h
wlcore_i.h Merge branch 'wl12xx-next' into for-linville 2013-03-25 17:06:37 +02:00
wlcore.h wlcore: set max num of Rx BA sessions per chip 2013-03-25 12:33:11 +02:00