original_kernel/drivers/isdn/gigaset
Tilman Schmidt c6fdd8e5d0 bas_gigaset: fix pre_reset handling
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>
2012-10-26 02:20:36 -04:00
..
Kconfig
Makefile
asyncdata.c
bas-gigaset.c
capi.c
common.c
dummyll.c
ev-layer.c
gigaset.h
i4l.c
interface.c
isocdata.c
proc.c
ser-gigaset.c
usb-gigaset.c