2022-04-30 15:39:44

by Marcel Holtmann

[permalink] [raw]
Subject: Re: [PATCH] btusb: CSR chip hangs when unbound

Hi Jose,

> Bluetooth Dongles with CSR chip (i.e. USB Bluetooth V4.0 Dongle by Trust)
> hang when they are unbound from 'unbind' sysfs entry and can not be bound
> again.
>
> The reason is CSR chip hangs when usb configuration command with index 0
> (used to unconfigure) is sent during disconnection.
>
> To avoid this unwanted result, it is necessary not to send this command
> for CSR chip when usb device is unbound. Besides, "skip_unconfigure" sysfs
> entry has been created for testing purposes with these or other devices.
>
> Athough device is not unconfigured, it is better to avoid device hanging to
> be able to operate. Even bluetooth can be previously turned off.
> On the other hand, this is not important if usb device is going to be bound
> again (normal behavior), i.e. with usbip.
>
> Signed-off-by: Jose Ignacio Tornos Martinez <[email protected]>
> ---
> drivers/bluetooth/btusb.c | 6 ++++++
> drivers/usb/core/generic.c | 2 +-
> drivers/usb/core/sysfs.c | 36 ++++++++++++++++++++++++++++++++++++
> include/linux/usb.h | 2 ++
> 4 files changed, 45 insertions(+), 1 deletion(-)

send this to the USB guys first and get their ACK.

Regards

Marcel