linux/drivers/net/wireless/ti/wlcore
Eyal Shapira 7a50bdfb81 wlcore: fix broken TX due to wrong queuing of recovery
commit 14bba17b "wl12xx: Propagate errors from wl1271_raw_write32"
breaks down TX in certain scenarios. wl1271_irq_locked() propagates
errors from wl1271_tx_work_locked however it may return -EBUSY
when the FW queues are full which is a legitimate case and not a
a real error. In this case a recovery is triggered by wl1271_irq
and this keeps repeating itself so TX is completely broken.
Fix it by avoiding propagating return values as errors even if they
aren't. Only bus (SDIO or SPI) ops failures would be progagated
as only these should trigger recovery.

Signed-off-by: Eyal Shapira <eyal@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
2012-06-26 20:30:03 +03:00
..
acx.c wlcore: reconfigure sleep_auth when removing interfaces 2012-06-21 12:51:55 +03:00
acx.h wlcore: allow setting sleep_auth before interface init 2012-06-21 12:51:41 +03:00
boot.c wlcore: Propagate errors from wl1271_raw_write32 2012-06-22 10:49:44 +03: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: Propagate errors from wl1271_raw_write32 2012-06-22 10:49:44 +03:00
cmd.h wlcore: add print logs of radio_status in case of BIP calibration 2012-06-13 21:56:37 +03:00
conf.h wlcore: allow setting sleep_auth before interface init 2012-06-21 12:51:41 +03:00
debug.h
debugfs.c wlcore: access the firmware memory via debugfs 2012-06-22 22:52:01 +03:00
debugfs.h wlcore: add debugfs macro to help print fw statistics arrays 2012-06-05 15:58:08 +03:00
event.c wlcore: Propagate errors from wl1271_raw_write32 2012-06-22 10:49:44 +03:00
event.h
hw_ops.h wlcore: Propagate errors from wl1271_write 2012-06-22 10:46:34 +03: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: reconfigure sleep_auth when removing interfaces 2012-06-21 12:51:55 +03:00
init.h
io.c wlcore: Propagate errors from wl1271_raw_write32 2012-06-22 10:49:44 +03:00
io.h wlcore: don't allow SDIO read/writes after failure 2012-06-23 09:28:54 +03:00
Kconfig wireless: TI wlxxx depends on MAC80211 2012-05-15 17:53:24 -04:00
main.c wlcore: fix some failure cases in wlcore_probe() 2012-06-26 20:20:19 +03:00
Makefile
ps.c wlcore: Propagate errors from wl1271_raw_write32 2012-06-22 10:49:44 +03:00
ps.h
rx.c wlcore: check Rx-filter functions in the suspend path 2012-06-23 09:32:32 +03:00
rx.h wlcore: check Rx-filter functions in the suspend path 2012-06-23 09:32:32 +03:00
scan.c wlcore: set channels 12-14 as pactive for sched scan 2012-06-06 19:40:27 +03:00
scan.h wlcore: set channels 12-14 as pactive for sched scan 2012-06-06 19:40:27 +03:00
sdio.c wlcore: Force checking of io functions' return values 2012-06-22 10:49:45 +03:00
spi.c wlcore: Force checking of io functions' return values 2012-06-22 10:49:45 +03:00
testmode.c wlcore: add print logs of radio_status in case of BIP calibration 2012-06-13 21:56:37 +03:00
testmode.h
tx.c wlcore: fix broken TX due to wrong queuing of recovery 2012-06-26 20:30:03 +03:00
tx.h wlcore: Propagate errors from wl1271_write 2012-06-22 10:46:34 +03:00
wl12xx_80211.h
wl12xx_platform_data.c
wlcore_i.h wlcore: don't allow SDIO read/writes after failure 2012-06-23 09:28:54 +03:00
wlcore.h wlcore: Propagate errors from wl1271_raw_write32 2012-06-22 10:49:44 +03:00