On 4/24/2024 12:06 PM, Krzysztof Kozlowski wrote: > On 24/04/2024 02:46, Zijun Hu wrote: >> Commit 56d074d26c58 ("Bluetooth: hci_qca: don't use IS_ERR_OR_NULL() >> with gpiod_get_optional()") will cause below serious regression issue: >> >> BT can't be enabled any more after below steps: >> cold boot -> enable BT -> disable BT -> BT enable failure >> if property enable-gpios is not configured within DT|ACPI for QCA6390. >> >> The commit wrongly changes flag @power_ctrl_enabled set logic for this >> case as shown by its below code applet and causes this serious issue. >> qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable", >> GPIOD_OUT_LOW); >> - if (IS_ERR_OR_NULL(qcadev->bt_en)) { >> + if (IS_ERR(qcadev->bt_en)) { >> dev_warn(&serdev->dev, "failed to acquire enable gpio\n"); >> power_ctrl_enabled = false; >> } >> >> Fixed by reverting the mentioned commit for QCA6390. >> >> Fixes: 56d074d26c58 ("Bluetooth: hci_qca: don't use IS_ERR_OR_NULL() with gpiod_get_optional()") >> Reported-by: Wren Turkal <wt@xxxxxxxxxxxxxxxx> >> Link: https://bugzilla.kernel.org/show_bug.cgi?id=218726 >> Link: https://lore.kernel.org/linux-bluetooth/ea20bb9b-6b60-47fc-ae42-5eed918ad7b4@xxxxxxxxxxx/T/#m73d6a71d2f454bb03588c66f3ef7912274d37c6f >> Signed-off-by: Zijun Hu <quic_zijuhu@xxxxxxxxxxx> >> Tested-by: Wren Turkal <wt@xxxxxxxxxxxxxxxx> > > No, Bartosz' patch should go. > what is Bartosz' patch. > Best regards, > Krzysztof >