mirror of
https://github.com/FEX-Emu/linux.git
synced 2024-12-18 06:50:08 +00:00
Bluetooth: Fix notifying mgmt power off before flushing connection list
This patch moves the mgmt_powered() notification earlier in the hci_dev_do_close() function. This way the correct "not powered" error gets passed to any pending mgmt commands. Without the patch the pending commands would instead get a misleading "disconnected" response when powering down the adapter. Signed-off-by: Johan Hedberg <johan.hedberg@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
a511b35ba4
commit
1aeb9c651c
@ -2634,6 +2634,12 @@ static int hci_dev_do_close(struct hci_dev *hdev)
|
||||
drain_workqueue(hdev->workqueue);
|
||||
|
||||
hci_dev_lock(hdev);
|
||||
|
||||
if (!test_and_clear_bit(HCI_AUTO_OFF, &hdev->dev_flags)) {
|
||||
if (hdev->dev_type == HCI_BREDR)
|
||||
mgmt_powered(hdev, 0);
|
||||
}
|
||||
|
||||
hci_inquiry_cache_flush(hdev);
|
||||
hci_pend_le_actions_clear(hdev);
|
||||
hci_conn_hash_flush(hdev);
|
||||
@ -2681,14 +2687,6 @@ static int hci_dev_do_close(struct hci_dev *hdev)
|
||||
hdev->flags &= BIT(HCI_RAW);
|
||||
hdev->dev_flags &= ~HCI_PERSISTENT_MASK;
|
||||
|
||||
if (!test_and_clear_bit(HCI_AUTO_OFF, &hdev->dev_flags)) {
|
||||
if (hdev->dev_type == HCI_BREDR) {
|
||||
hci_dev_lock(hdev);
|
||||
mgmt_powered(hdev, 0);
|
||||
hci_dev_unlock(hdev);
|
||||
}
|
||||
}
|
||||
|
||||
/* Controller radio is available but is currently powered down */
|
||||
hdev->amp_status = AMP_STATUS_POWERED_DOWN;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user