Re: [PATCH] bas_gigaset: fix pre_reset handling

From: David Miller
Date: Fri Oct 26 2012 - 02:20:54 EST


From: Tilman Schmidt <tilman@xxxxxxx>
Date: Wed, 24 Oct 2012 20:44:32 +0200

> 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@xxxxxxx>

Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/