linux_dsm_epyc7002/drivers/net/wireless/rt2x00
Johannes Stezenbach d7bb5f845f rt2x00: fix hang when unplugging USB device in use
When an rt2x00 USB device is unplugged while in use, it reliably
hangs the whole system.  After some time the watchdog prints:

BUG: soft lockup - CPU#0 stuck for 64s! [kworker/u:0:5]
...
[<c01a88d8>] (usb_submit_urb+0x0/0x2ac) from [<bf0e752c>] (rt2x00usb_kick_rx_entry+0xb4/0xe8 [rt2x00usb])
[<bf0e7478>] (rt2x00usb_kick_rx_entry+0x0/0xe8 [rt2x00usb]) from [<bf0e7588>] (rt2x00usb_clear_entry+x28/0x2c [rt2x00usb])
[<bf0e7560>] (rt2x00usb_clear_entry+0x0/0x2c [rt2x00usb]) from [<bf0d5bc4>] (rt2x00lib_rxdone+0x2e0/0x2f8 [rt2x00lib])
[<bf0d58e4>] (rt2x00lib_rxdone+0x0/0x2f8 [rt2x00lib]) from [<bf0e7e00>] (rt2x00usb_work_rxdone+0x54/0x74 [rt2x00usb])
[<bf0e7dac>] (rt2x00usb_work_rxdone+0x0/0x74 [rt2x00usb]) from [<c00542b4>] (process_one_work+0x20c/0x35c)

Clear the DEVICE_STATE_PRESENT flag when usb_submit_urb()
returns -ENODEV to fix this.

Signed-off-by: Johannes Stezenbach <js@sig21.net>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2010-12-13 15:23:34 -05:00
..
Kconfig rt2x00: Remove unneccessary internal Kconfig symbols. 2010-11-17 16:18:51 -05:00
Makefile
rt2x00.h mac80211/rt2x00: add ieee80211_tx_status_ni() 2010-11-30 13:53:46 -05:00
rt2x00config.c rt2x00: Remove rt2x00lib_toggle_rx 2010-11-15 13:26:35 -05:00
rt2x00crypto.c mac80211: use cipher suite selectors 2010-08-16 16:45:11 -04:00
rt2x00debug.c rt2x00: Rename queue->lock to queue->index_lock 2010-11-15 13:26:32 -05:00
rt2x00debug.h
rt2x00dev.c mac80211/rt2x00: add ieee80211_tx_status_ni() 2010-11-30 13:53:46 -05:00
rt2x00dump.h rt2x00: correct sparse warning in rt2x00debug.c 2010-07-20 16:49:41 -04:00
rt2x00firmware.c rt2x00: update fw version info in wiphy struct 2010-08-16 14:39:45 -04:00
rt2x00ht.c rt2x00: Improve cooperation between rt2800pci and minstrel 2010-10-05 13:35:29 -04:00
rt2x00leds.c
rt2x00leds.h
rt2x00lib.h rt2x00: Remove rt2x00lib_toggle_rx 2010-11-15 13:26:35 -05:00
rt2x00link.c rt2x00: checkpatch.pl error fixes for rt2x00link.c 2010-11-15 13:26:28 -05:00
rt2x00mac.c rt2x00: Remove rt2x00lib_toggle_rx 2010-11-15 13:26:35 -05:00
rt2x00pci.c rt2x00pci: do not use GFP_DMA 2010-11-15 13:24:39 -05:00
rt2x00pci.h rt2x00: Move common txdone handling to rt2x00lib_txdone. 2010-06-30 15:00:50 -04:00
rt2x00queue.c rt2x00: Modify rt2x00queue_remove_l2pad to make skb->data two-byte alignment 2010-11-17 16:18:59 -05:00
rt2x00queue.h rt2x00: Rename queue->lock to queue->index_lock 2010-11-15 13:26:32 -05:00
rt2x00reg.h rt2x00: Remove rt2x00lib_toggle_rx 2010-11-15 13:26:35 -05:00
rt2x00soc.c rt2x00: Use ioremap for SoC devices instead of KSEG1ADDR. 2010-11-17 16:18:54 -05:00
rt2x00soc.h
rt2x00usb.c rt2x00: fix hang when unplugging USB device in use 2010-12-13 15:23:34 -05:00
rt2x00usb.h rt2x00: Simplify arguments to rt2x00 driver callback functions 2010-08-25 14:34:54 -04:00
rt61pci.c rt2x00: Remove rt2x00lib_toggle_rx 2010-11-15 13:26:35 -05:00
rt61pci.h rt2x00: Fix comments in rt73usb.h and rt61pci.h 2010-11-15 13:26:09 -05:00
rt73usb.c rt2x00: Remove rt2x00lib_toggle_rx 2010-11-15 13:26:35 -05:00
rt73usb.h rt2x00: Fix comments in rt73usb.h and rt61pci.h 2010-11-15 13:26:09 -05:00
rt2400pci.c rt2x00: Remove rt2x00lib_toggle_rx 2010-11-15 13:26:35 -05:00
rt2400pci.h rt2x00: checkpatch.pl error fixes for rt2400pci.h 2010-11-15 13:26:13 -05:00
rt2500pci.c rt2x00: Remove rt2x00lib_toggle_rx 2010-11-15 13:26:35 -05:00
rt2500pci.h rt2x00: checkpatch.pl error fixes for rt2500pci.h 2010-11-15 13:26:15 -05:00
rt2500usb.c rt2x00: Remove rt2x00lib_toggle_rx 2010-11-15 13:26:35 -05:00
rt2500usb.h
rt2800.h rt2x00: Add RF chip definition 2010-12-13 15:23:34 -05:00
rt2800lib.c rt2x00: Implement get_survey callback for rt2800 2010-12-13 15:23:34 -05:00
rt2800lib.h rt2x00: Implement get_survey callback for rt2800 2010-12-13 15:23:34 -05:00
rt2800pci.c rt2x00: Implement get_survey callback for rt2800 2010-12-13 15:23:34 -05:00
rt2800pci.h rt2x00: checkpatch.pl error fixes for rt2800pci.h 2010-11-15 13:26:20 -05:00
rt2800usb.c rt2x00: Implement get_survey callback for rt2800 2010-12-13 15:23:34 -05:00
rt2800usb.h rt2x00: checkpatch.pl error fixes for rt2800usb.h 2010-11-15 13:26:23 -05:00