RE: [PATCH] Bluetooth: btrtl: Shorten HCI_OP_RESET timeout

From: Hilda Wu
Date: Tue Oct 01 2024 - 03:44:55 EST


Hi Paul,

Thank you for your opinion.
I just modified the commit message summary and sent v2.
Please check the following comment.
Thanks again.

Regards,
Hilda

-----Original Message-----
From: Paul Menzel <pmenzel@xxxxxxxxxxxxx>
Sent: Friday, September 27, 2024 2:48 PM
To: Hilda Wu <hildawu@xxxxxxxxxxx>
Cc: marcel@xxxxxxxxxxxx; luiz.dentz@xxxxxxxxx; linux-bluetooth@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; alex_lu@xxxxxxxxxxxxxx; Max Chou <max.chou@xxxxxxxxxxx>; KidmanLee <kidman@xxxxxxxxxxx>; howardchung@xxxxxxxxxx; apusaka@xxxxxxxxxxxx; yinghsu@xxxxxxxxxxxx; johnlai@xxxxxxxxxx
Subject: Re: [PATCH] Bluetooth: btrtl: Shorten HCI_OP_RESET timeout


External mail.



Dear Hilda,


Thank you for your patch.

Am 27.09.24 um 08:41 schrieb Hilda Wu:
> Shorten the timeout for the HCI Reset on shutdown.

Why? It’d be great if you elaborated, and documented how to reproduce the problem.

Actually, this patch is not for fix something happen, but a prevention.
Let upper layer stack reduce the expected waiting time, for preventing stack daemon be blocked by the socket close if this could happen.

What is the old and new timeout value? For the git commit message summary, maybe use:

Add changes.

Bluetooth: btrtl: Decrease HCI_OP_RESET timeout from x ms to y ms

Add changes.

> Signed-off-by: Hilda Wu <hildawu@xxxxxxxxxxx>
> ---
> drivers/bluetooth/btrtl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
> index 2d95b3ea046d..7128a8a0ba25 100644
> --- a/drivers/bluetooth/btrtl.c
> +++ b/drivers/bluetooth/btrtl.c
> @@ -1371,7 +1371,7 @@ int btrtl_shutdown_realtek(struct hci_dev *hdev)
> /* According to the vendor driver, BT must be reset on close to avoid
> * firmware crash.
> */
> - skb = __hci_cmd_sync(hdev, HCI_OP_RESET, 0, NULL, HCI_INIT_TIMEOUT);
> + skb = __hci_cmd_sync(hdev, HCI_OP_RESET, 0, NULL,
> + HCI_CMD_TIMEOUT);
> if (IS_ERR(skb)) {
> ret = PTR_ERR(skb);
> bt_dev_err(hdev, "HCI reset during shutdown failed");


Kind regards,

Paul