diff options
author | Johan Hedberg <johan.hedberg@intel.com> | 2015-01-30 11:58:54 +0300 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2015-01-30 13:03:19 +0300 |
commit | a087a98e0767cf6c4f2480e6de5441497c9ba5b7 (patch) | |
tree | cff12cae86d3e8b4633d65b57b334c9b9885ebd7 /firmware/kaweth/trigger_code.bin.ihex | |
parent | 74d9daafa5e0b4f9183540b41b337d42662f537b (diff) | |
download | linux-a087a98e0767cf6c4f2480e6de5441497c9ba5b7.tar.xz |
Bluetooth: btusb: Fix race when waiting for BTUSB_DOWNLOADING
The test for BTUSB_DOWNLOADING must be after adding to the wait queue
and setting the TASK_INTERRUPTIBLE state. Otherwise the flag may get
cleared after we test for it and we end up getting a timeout since
schedule_timeout() waits for the full duration. This patch uses a
wait_on_bit_timeout() + wake_up_bit(). To perform the task both
race-free as well as in a much simpler way.
Since there's no global wait_on_bit_timeout() helper yet (even though
all the building blocks for it are in place) this patch creates a
temporary local btusb copy of it until the global one has made it to
upstream trees.
Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'firmware/kaweth/trigger_code.bin.ihex')
0 files changed, 0 insertions, 0 deletions