OpenCloudOS-Kernel/drivers/isdn
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
..
act2000 isdn: whitespace coding style cleanup 2012-02-21 09:04:01 -08:00
capi TTY: use tty_port_register_device 2012-08-13 16:50:19 -07:00
divert isdn: whitespace coding style cleanup 2012-02-21 09:04:01 -08:00
gigaset bas_gigaset: fix pre_reset handling 2012-10-26 02:20:36 -04:00
hardware mISDN: Fix wrong usage of flush_work_sync while holding locks 2012-09-13 14:58:54 -04:00
hisax hisax: disable build for big-endian xtensa 2012-10-03 15:12:39 -07:00
hysdn isdn/hysdn: Convert to kstrtoul_from_user 2012-04-15 03:23:31 -04:00
i4l isdn: fix a wrapping bug in isdn_ppp_ioctl() 2012-10-10 22:50:45 -04:00
icn isdn: whitespace coding style cleanup 2012-02-21 09:04:01 -08:00
isdnloop isdnloop: fix and simplify isdnloop_init() 2012-08-03 16:53:22 -07:00
mISDN Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2012-10-02 09:54:49 -07:00
pcbit Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
sc isdn: whitespace coding style cleanup 2012-02-21 09:04:01 -08:00
Kconfig um: switch to use of drivers/Kconfig 2011-11-02 14:15:41 +01:00
Makefile mISDN fix main ISDN Makefile 2008-08-02 16:28:20 +02:00