[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20121026.022058.1269607845663983487.davem@davemloft.net>
Date: Fri, 26 Oct 2012 02:20:58 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: tilman@...p.cc
Cc: isdn@...ux-pingi.de, oneukum@...e.de, hjlipp@....de,
gigaset307x-common@...ts.sourceforge.net,
linux-usb@...r.kernel.org, i4ldeveloper@...tserv.isdn4linux.de,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] bas_gigaset: fix pre_reset handling
From: Tilman Schmidt <tilman@...p.cc>
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@...p.cc>
Applied, thanks.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists