c6fdd8e5d0
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 |