Bluetooth: Run page scan updates through hdev->req_workqueue

Since Add/Remove Device perform the page scan updates independently
from the HCI command completion we've introduced a potential race when
multiple mgmt commands are queued. Doing the page scan updates through
the req_workqueue ensures that the state changes are performed in a
race-free manner.

At the same time, to make the request helper more widely usable,
extend it to also cover Inquiry Scan changes since those are behind
the same HCI command. This is also reflected in the new name of the
API as well as the work struct name.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Johan Hedberg
2015-11-16 12:52:21 +02:00
committed by Marcel Holtmann
parent ad2c8c73d2
commit 01b1cb87d3
5 changed files with 35 additions and 21 deletions

View File

@@ -329,6 +329,7 @@ struct hci_dev {
struct work_struct discov_update;
struct work_struct bg_scan_update;
struct work_struct scan_update;
struct delayed_work le_scan_disable;
struct delayed_work le_scan_restart;