Re: [PATCH v1] Bluetooth: qca: Fix BT enable failure again for QCA6390 after warm reboot

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

 



On 5/3/24 3:16 AM, Krzysztof Kozlowski wrote:
On 02/05/2024 16:06, Zijun Hu wrote:
Commit 272970be3dab ("Bluetooth: hci_qca: Fix driver shutdown on closed
serdev") will cause below regression issue:

BT can't be enabled after below steps:
cold boot -> enable BT -> disable BT -> warm reboot -> BT enable failure
if property enable-gpios is not configured within DT|ACPI for QCA6390.

The commit is to fix a use-after-free issue within qca_serdev_shutdown()
during reboot, but also introduces this regression issue regarding above
steps since the VSC is not sent to reset controller during warm reboot.

Fixed by sending the VSC to reset controller within qca_serdev_shutdown()
once BT was ever enabled, and the use-after-free issue is also be fixed
by this change since serdev is still opened when send to serdev.

Fixes: 272970be3dab ("Bluetooth: hci_qca: Fix driver shutdown on closed serdev")
Cc: stable@xxxxxxxxxxxxxxx
Reported-by: Wren Turkal <wt@xxxxxxxxxxxxxxxx>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218726
Signed-off-by: Zijun Hu <quic_zijuhu@xxxxxxxxxxx>
Tested-by: Wren Turkal <wt@xxxxxxxxxxxxxxxx>
---
  drivers/bluetooth/hci_qca.c | 5 ++---

I don't think this is v1. Version your patches properly and provide
changelog.

I asked already *two times*:
1. On which kernel did you test it?
2. On which hardware did you test it?

I thought I had already chimed in with this information. I am using a Dell XPS 13 9310. It's the only hardware I have access to. I can say that the fix seems to work as advertised in that it fixes the warm boot issue I have been experiencing.

As a user, I vastly prefer a one time cold boot rather than having to do it every time. As such, I can do the test. However, I do not think that the patch not working in that case should block landing logic that empirically improved my experience with the hardware and minimizes the corner case to a much smaller corner (that of warm booting from an OS that improperly puts the device in a bad state to a Linux kernel with this UX improvement).

wt
--
You're more amazing than you think!




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux