Files
linux/drivers/isdn
Tilman Schmidt 346f8559c5 bas_gigaset: fix pre_reset handling
commit c6fdd8e5d0 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2012-12-03 12:59:15 -08:00
..
2010-10-04 11:00:55 +02:00
2010-09-06 18:29:18 -07:00
2010-10-08 10:21:22 -07:00
2010-02-22 15:45:53 -08:00
2008-08-02 16:28:20 +02:00