mirror of
https://github.com/torvalds/linux.git
synced 2026-05-20 04:43:19 +02:00
The delayed work function int_in_work() may call usb_reset_device() and thus, indirectly, the driver's pre_reset method. Trying to cancel the work synchronously in that situation would deadlock. Fix by avoiding cancel_work_sync() in the pre_reset method. If the reset was NOT initiated by int_in_work() this might cause int_in_work() to run after the post_reset method, with urb_int_in already resubmitted, so handle that case gracefully. Signed-off-by: Tilman Schmidt <tilman@imap.cc> Signed-off-by: David S. Miller <davem@davemloft.net> |
||
|---|---|---|
| .. | ||
| act2000 | ||
| capi | ||
| divert | ||
| gigaset | ||
| hardware | ||
| hisax | ||
| hysdn | ||
| i4l | ||
| icn | ||
| isdnloop | ||
| mISDN | ||
| pcbit | ||
| sc | ||
| Kconfig | ||
| Makefile | ||