Re: [PATCH v2] Bluetooth: hci_sync: Prohibit establishing of ACL links during poweroff

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Dear Paul

On 4/8/2025 7:51 PM, Shuai Zhang wrote:
> If turning off BT during pairing, "hci_acl_create_conn_sync" has chances
> to be left in cmd_sync_work_list. Then the driver will try to send
> the HCI command of creating connection but failed.
> 
> bluetoothctl test step:
> 1. local device pair with remote device
> 2. once pair is complete, local device will immediately perform power off
> 3. powe on local device fail
> 
> Check if the device is not starting up, that means powering off,
> when establishing the ACL link, and cancel early in this case.
> 

Do you have other suggestions? Please let me know. Thanks.

> Change-Id: I72802f306a20d43282dd374dd33b8cb1a22f48d8
> Signed-off-by: Shuai Zhang <quic_shuaz@xxxxxxxxxxx>
> ---
>  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 c553b637c..c4f1c0f30 100644
> --- a/net/bluetooth/hci_sync.c
> +++ b/net/bluetooth/hci_sync.c
> @@ -6755,7 +6755,7 @@ static int hci_acl_create_conn_sync(struct hci_dev *hdev, void *data)
>  	struct hci_cp_create_conn cp;
>  	int err;
>  
> -	if (!hci_conn_valid(hdev, conn))
> +	if (!hci_conn_valid(hdev, conn)|| !test_bit(HCI_UP, &hdev->flags))
>  		return -ECANCELED;
>  
>  	/* Many controllers disallow HCI Create Connection while it is doing





[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux