]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
Bluetooth: hci_sync: Fix hci_resume_advertising_sync
authorLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Fri, 5 Sep 2025 14:29:18 +0000 (10:29 -0400)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Sat, 20 Sep 2025 15:00:33 +0000 (11:00 -0400)
hci_resume_advertising_sync is suppose to resume all instance paused by
hci_pause_advertising_sync, this logic is used for procedures are only
allowed when not advertising, but instance 0x00 was not being
re-enabled.

Fixes: ad383c2c65a5 ("Bluetooth: hci_sync: Enable advertising when LL privacy is enabled")
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
net/bluetooth/hci_sync.c

index b6f888d8354e3fcd8c2a91ef5c39fbc77a092d29..7a7d4989085848b112446be8d1491fcce35172dd 100644 (file)
@@ -2594,6 +2594,13 @@ static int hci_resume_advertising_sync(struct hci_dev *hdev)
                        hci_remove_ext_adv_instance_sync(hdev, adv->instance,
                                                         NULL);
                }
+
+               /* If current advertising instance is set to instance 0x00
+                * then we need to re-enable it.
+                */
+               if (!hdev->cur_adv_instance)
+                       err = hci_enable_ext_advertising_sync(hdev,
+                                                             hdev->cur_adv_instance);
        } else {
                /* Schedule for most recent instance to be restarted and begin
                 * the software rotation loop