Bluetooth: bcm203x: Fix race condition on disconnect
authorDavid Herrmann <dh.herrmann@googlemail.com>
Wed, 26 Oct 2011 09:13:13 +0000 (11:13 +0200)
committerGustavo F. Padovan <padovan@profusion.mobi>
Mon, 7 Nov 2011 19:24:52 +0000 (17:24 -0200)
commit844e4b76cc4806827024cccf35a9beaf13d27f3d
treeff8c61c9e41ce51a84143c4eedbac7c98872de9e
parent52a1020e80beece986002f673eca24dae6255b55
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 <dh.herrmann@googlemail.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
drivers/bluetooth/bcm203x.c