RE: [PATCH v1 1/2] Bluetooth: btnxpuart: Add msleep() after changing the baudrate

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

 




> -----Original Message-----
> From: Neeraj Sanjay Kale <neeraj.sanjaykale@xxxxxxx>
> Sent: Friday, March 28, 2025 2:25 AM
> To: marcel@xxxxxxxxxxxx; luiz.dentz@xxxxxxxxx
> Cc: linux-bluetooth@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx;
> Amitkumar Karwar <amitkumar.karwar@xxxxxxx>; Neeraj Sanjay Kale
> <neeraj.sanjaykale@xxxxxxx>; Sherry Sun <sherry.sun@xxxxxxx>
> Subject: [PATCH v1 1/2] Bluetooth: btnxpuart: Add msleep() after changing the
> baudrate
> 
> This adds a 100 millisec sleep after change baudrate vendor command.
> 
> It is observed that when the baudrate change command changes the
> baudrate from 3000000 to 115200, any immediate HCI command returns an
> error -22 (Device Busy).
> 
> Adding a small delay after the change baudrate command complete event is
> received helps fix the issue.
> 
> Signed-off-by: Neeraj Sanjay Kale <neeraj.sanjaykale@xxxxxxx>
> ---
>  drivers/bluetooth/btnxpuart.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/bluetooth/btnxpuart.c b/drivers/bluetooth/btnxpuart.c
> index 5091dea762a0..e26fabe8fb3d 100644
> --- a/drivers/bluetooth/btnxpuart.c
> +++ b/drivers/bluetooth/btnxpuart.c
> @@ -1238,6 +1238,8 @@ static int nxp_set_baudrate_cmd(struct hci_dev
> *hdev, void *data)
>  		if (*status == 0) {
>  			serdev_device_set_baudrate(nxpdev->serdev,
> nxpdev->new_baudrate);
>  			nxpdev->current_baudrate = nxpdev->new_baudrate;
> +			/* Allow sufficiant time for chip to switch to new
> baudrate */
> +			sleep(100);

Hi Neeraj,

Assuming that msleep() should be used here, sleep (100) means 100 seconds of sleep, too crazy :)

Best Regards
Sherry


>  		}
>  		bt_dev_dbg(hdev, "Set baudrate response: status=%d,
> baudrate=%d",
>  			   *status, nxpdev->new_baudrate);
> --
> 2.25.1






[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