linux/include/net/bluetooth
Johan Hedberg 2ff13894cf Bluetooth: Perform HCI update for power on synchronously
The request to update HCI during power on is always coming either from
hdev->req_workqueue or through an ioctl, so it's safe to use
hci_req_sync for it. This way we also eliminate potential races with
incoming mgmt commands or other actions while powering on.

Part of this refactoring is the splitting of mgmt_powered() into
mgmt_power_on() and __mgmt_power_off() functions. The main reason is
the different requirements as far as hdev locking is concerned, as
highlighted with the __ prefix of the power off API.

Since the power on in the case of clearing the AUTO_OFF flag cannot be
done synchronously in the set_powered mgmt handler, the hci_power_on
work callback is extended to cover this (which also simplifies the
set_powered helper a lot).

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
2015-12-10 00:51:49 +01:00
..
bluetooth.h Bluetooth: Add support for sending system notes to monitor channel 2015-11-19 17:50:28 +01:00
hci.h Bluetooth: Add HCI status return parameter to hci_req_sync() 2015-11-19 17:50:29 +01:00
hci_core.h Bluetooth: Perform HCI update for power on synchronously 2015-12-10 00:51:49 +01:00
hci_mon.h Bluetooth: Add support for controller specific logging 2015-11-19 17:50:28 +01:00
hci_sock.h Bluetooth: Add support for controller specific logging 2015-11-19 17:50:28 +01:00
l2cap.h Bluetooth: L2CAP: Fix returning correct LE CoC response codes 2015-11-05 04:04:00 +01:00
mgmt.h Bluetooth: Add support for Get Advertising Size Information command 2015-11-22 16:26:05 +02:00
rfcomm.h Bluetooth: Remove duplicate constant for RFCOMM PSM 2014-12-20 19:55:04 +02:00
sco.h Bluetooth: Move SCO timeout constants into net/bluetooth/sco.c 2014-07-11 13:58:58 +03:00