[PATCH] Bluetooth: HCI: fix disabling of adv instance before updating params

Christian Eggers posted 1 patch 3 months, 1 week ago
net/bluetooth/hci_sync.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] Bluetooth: HCI: fix disabling of adv instance before updating params
Posted by Christian Eggers 3 months, 1 week ago
struct adv_info::pending doesn't tell whether advertising is currently
enabled. This is already checked in hci_disable_ext_adv_instance_sync().

Fixes: cba6b758711c ("Bluetooth: hci_sync: Make use of hci_cmd_sync_queue set 2")
Signed-off-by: Christian Eggers <ceggers@arri.de>
---
 net/bluetooth/hci_sync.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
index 77b3691f3423..0066627c05eb 100644
--- a/net/bluetooth/hci_sync.c
+++ b/net/bluetooth/hci_sync.c
@@ -1345,7 +1345,7 @@ int hci_setup_ext_adv_instance_sync(struct hci_dev *hdev, u8 instance)
 	 * Command Disallowed error, so we must first disable the
 	 * instance if it is active.
 	 */
-	if (adv && !adv->pending) {
+	if (adv) {
 		err = hci_disable_ext_adv_instance_sync(hdev, instance);
 		if (err)
 			return err;
-- 
2.43.0
Re: [PATCH] Bluetooth: HCI: fix disabling of adv instance before updating params
Posted by Luiz Augusto von Dentz 3 months, 1 week ago
Hi Christian,

On Mon, Jun 30, 2025 at 3:59 AM Christian Eggers <ceggers@arri.de> wrote:
>
> struct adv_info::pending doesn't tell whether advertising is currently
> enabled. This is already checked in hci_disable_ext_adv_instance_sync().
>
> Fixes: cba6b758711c ("Bluetooth: hci_sync: Make use of hci_cmd_sync_queue set 2")
> Signed-off-by: Christian Eggers <ceggers@arri.de>
> ---
>  net/bluetooth/hci_sync.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/net/bluetooth/hci_sync.c b/net/bluetooth/hci_sync.c
> index 77b3691f3423..0066627c05eb 100644
> --- a/net/bluetooth/hci_sync.c
> +++ b/net/bluetooth/hci_sync.c
> @@ -1345,7 +1345,7 @@ int hci_setup_ext_adv_instance_sync(struct hci_dev *hdev, u8 instance)
>          * Command Disallowed error, so we must first disable the
>          * instance if it is active.
>          */
> -       if (adv && !adv->pending) {
> +       if (adv) {
>                 err = hci_disable_ext_adv_instance_sync(hdev, instance);
>                 if (err)
>                         return err;
> --
> 2.43.0
>

Ive already submitted a similar fix last week:

https://patchwork.kernel.org/project/bluetooth/patch/20250627163133.430614-1-luiz.dentz@gmail.com/

-- 
Luiz Augusto von Dentz