summaryrefslogtreecommitdiff
path: root/block/scsi_ioctl.c
diff options
context:
space:
mode:
authorTilman Schmidt <tilman@imap.cc>2012-10-24 08:44:32 +0000
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-12-03 11:47:11 -0800
commit6495a1b5bc6f9e55eff414975609fef9e4a73662 (patch)
treee356c3755bdcf1e0e858637c10de888a4d52751f /block/scsi_ioctl.c
parent06096cf239242e915ee13c48c10306828c828527 (diff)
bas_gigaset: fix pre_reset handling
commit c6fdd8e5d0c65bb8821dc6da26ee1a2ddd58b3cc 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>
Diffstat (limited to 'block/scsi_ioctl.c')
0 files changed, 0 insertions, 0 deletions