forked from Minki/linux
78fc800f06
When stress testing AP-mode I hit OOPS when unpluging or rmmodding driver. It appears that when tx-queue is disabled, tx-urbs might be left pending. These can cause ehci to call non-existing tx_urb_complete() (after rmmod) or uninitialized/reseted private structure (after disconnect()). Add skb queue for submitted packets and unlink pending urbs on zd_usb_disable_tx(). Part of the problem seems to be usb->free_urb_list that isn't always working as it should, causing machine freeze when trying to free the list in zd_usb_disable_tx(). Caching free urbs isn't what other drivers seem to be doing (usbnet for example) so strip free_usb_list. Patch makes tx-urb handling saner with use of urb anchors. Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi> Signed-off-by: John W. Linville <linville@tuxdriver.com> |
||
---|---|---|
.. | ||
Kconfig | ||
Makefile | ||
zd_chip.c | ||
zd_chip.h | ||
zd_def.h | ||
zd_mac.c | ||
zd_mac.h | ||
zd_rf_al2230.c | ||
zd_rf_al7230b.c | ||
zd_rf_rf2959.c | ||
zd_rf_uw2453.c | ||
zd_rf.c | ||
zd_rf.h | ||
zd_usb.c | ||
zd_usb.h |