Bluetooth: bcm203x: Fix race condition on disconnect
authorDavid Herrmann <[email protected]>
Wed, 26 Oct 2011 09:13:13 +0000 (11:13 +0200)
committerGustavo F. Padovan <[email protected]>
Mon, 31 Oct 2011 19:51:37 +0000 (17:51 -0200)
commitfc501ad7a10a356819505b1e526079d47fdebc2c
tree3eae55cf4945ac834e40c5cde95555b610084ded
parent0ba22bb258341783939ed07bf7e7a9d92f3b0edf
Bluetooth: bcm203x: Fix race condition on disconnect

When disconnecting a bcm203x device we kill and destroy the usb-urb, however,
there might still be a pending work-structure which resubmits the now invalid
urb. To avoid this race condition, we simply set a shutdown-flag and
synchronously kill the worker first.

This also adds a comment to all schedule_work()s, as it is really not clear
that they are used as replacement for short timers (which can be seen in the git
history).

Signed-off-by: David Herrmann <[email protected]>
Acked-by: Marcel Holtmann <[email protected]>
Signed-off-by: Gustavo F. Padovan <[email protected]>
drivers/bluetooth/bcm203x.c