linux/drivers/net/wireless/ti
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
..
wl12xx wlcore: Force checking of io functions' return values 2012-06-22 10:49:45 +03:00
wl18xx wl18xx: deprecate PG1 support 2012-06-26 20:20:17 +03:00
wl1251 wl1251: fix oops on early interrupt 2012-05-25 11:16:16 -04:00
wlcore wlcore: fix broken TX due to wrong queuing of recovery 2012-06-26 20:30:03 +03:00
Kconfig wl18xx: add new module 2012-06-05 15:54:04 +03:00
Makefile wl18xx: add new module 2012-06-05 15:54:04 +03:00