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@vger.kernel.org Reported-by: Wren Turkal wt@penguintechs.org Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218726 Signed-off-by: Zijun Hu quic_zijuhu@quicinc.com Tested-by: Wren Turkal wt@penguintechs.org
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*:
- On which kernel did you test it?
- 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