mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-01 02:33:57 +00:00
Bluetooth: Fix enabling advertising for central role
When disconnecting the advertising shall be re-enabled only when the connection role is slave/peripheral as the central role use advertising to connect it could end up enabling the instance 0x00 if there are other advertising instances. Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
parent
99c23da0ee
commit
1eeaa1ae79
@ -2351,7 +2351,7 @@ static void hci_cs_disconnect(struct hci_dev *hdev, u8 status)
|
||||
mgmt_disconnect_failed(hdev, &conn->dst, conn->type,
|
||||
conn->dst_type, status);
|
||||
|
||||
if (conn->type == LE_LINK) {
|
||||
if (conn->type == LE_LINK && conn->role == HCI_ROLE_SLAVE) {
|
||||
hdev->cur_adv_instance = conn->adv_instance;
|
||||
hci_req_reenable_advertising(hdev);
|
||||
}
|
||||
@ -2961,7 +2961,7 @@ static void hci_disconn_complete_evt(struct hci_dev *hdev, struct sk_buff *skb)
|
||||
* or until a connection is created or until the Advertising
|
||||
* is timed out due to Directed Advertising."
|
||||
*/
|
||||
if (conn->type == LE_LINK) {
|
||||
if (conn->type == LE_LINK && conn->role == HCI_ROLE_SLAVE) {
|
||||
hdev->cur_adv_instance = conn->adv_instance;
|
||||
hci_req_reenable_advertising(hdev);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user