On Tuesday, April 23, 2024 9:34:43 PM PDT Greg KH wrote: > On Wed, Apr 24, 2024 at 12:26:47PM +0800, Zijun Hu wrote: > > From: Zijun Hu <zijuhu@xxxxxxxxxxxxxxxx> > > > > 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@xxxxxxxxxxxxxx > > That is not a valid email address :( @ziljun, can you please post this patch in a new patch series by itself? The warm boot problem is fixed by this patch, and I think it would be better to have a thread dedicated to this fix so that it doesn't get lost. FWIW, I think that this may be the correct technical change. I would like to try to help get this patch landed, and I think a clean thread for only this change would help. Just so everyone is aware, I am a concerned user of the hardware, and not a kernel dev myself. I have tested this change. This patch on top of Linus' mainline does allow qca6390 to work after warm reboot on my laptop. wt -- You're more amazing than you think!