Hi Zijun, On Wed, Apr 24, 2024 at 01:33:50PM +0800, quic_zijuhu wrote: > On 4/24/2024 1:04 PM, Wren Turkal wrote: > > On 4/23/24 9:31 PM, Krzysztof Kozlowski wrote: > >> On 24/04/2024 06:18, quic_zijuhu wrote: > >>> On 4/24/2024 12:10 PM, Krzysztof Kozlowski wrote: > >>>> On 24/04/2024 06:07, quic_zijuhu wrote: > >>>>> 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. > >>>> > >>>> Srsly? You were Cc'ed on it. How many upstream patches on upstream > >>>> mailing lists do you receive that you lost track of them? > >>>> > >>> Bartosz' patch have basic serious mistook and logic error and have no > >>> any help for QCA6390, and it is not suitable regarding DTS usage. > >> > >> Really? Why you did not respond with comments then? Considering how > >> imprecise and vague you are in describing real issues, I have doubts in > >> your judgment here as well. > > > > Please slow down here. Zijun's patch works and Bartosz's patch does not. > > I don't think Zijun means any ill intent. I am replying to Bartosz's > > patch right now. > > > this is reporter's latest verification results. actually i don't have > much time for kernel upstream. i really hope my fix is able to merged > ASAP, it will help us to solve other possible impacted QCA controllers. I saw you were planning to slow down for a minute. When you're ready to work on these patches again, let's get them reviewed internally first. Please check go/upstream for some helpful hints. Thanks, Elliot