On 4/24/2024 9:26 PM, Wren Turkal wrote: > On 4/24/24 6:12 AM, quic_zijuhu wrote: >> On 4/24/2024 8:27 PM, Bartosz Golaszewski wrote: >>> On Wed, Apr 24, 2024 at 2:24 PM Wren Turkal <wt@xxxxxxxxxxxxxxxx> wrote: >>>>>>> >>>>>>> That's OK, we have the first part right. Let's now see if we can >>>>>>> reuse >>>>>>> patch 2/2 from Zijun. >>>>>> >>>>>> I'm compiling it right now. Be back soon. >>>>>> >>>>> >>>>> Well I doubt it's correct as it removed Krzysztof's fix which looks >>>>> right. If I were to guess I'd say we need some mix of both. >>>> >>>> Patch 2/2 remove K's fix? I thought only 1/2 did that. >>>> >>>> To be specific, I have applied your patch and Zijun's 2/2 only. >>>> >>> >>> No, patch 1/2 from Zijun reverted my changes. Patch 2/2 removes >>> Krzysztof's changes and replaces them with a different if else. This >>> patch is a better alternative to Zijun's patch 1/2. For 2/2, I'll let >>> Krzysztof handle it. >>> >> do you really realize what do you talk about? >> do you really listen what do @Wren says? >> >> he says that my patch 2/2 is right based on several verification results. > > she, not he > >> BTW, my 2/2 fix don't have anything about DTS usage. > > I think the problem with your 2/2 patch is that it removes the > conditional bailing if the device is shutdown or not open. > > Maybe this patch instead? > > diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c > index 2f7ae38d85eb..fcac44ae7898 100644 > --- a/drivers/bluetooth/hci_qca.c > +++ b/drivers/bluetooth/hci_qca.c > @@ -2456,6 +2456,10 @@ static void qca_serdev_shutdown(struct device *dev) > !test_bit(HCI_RUNNING, &hdev->flags)) > return; > > + if (test_bit(HCI_QUIRK_NON_PERSISTENT_SETUP, > &hdev->quirks) || > + hci_dev_test_flag(hdev, HCI_SETUP)) > + return; > + > serdev_device_write_flush(serdev); > ret = serdev_device_write_buf(serdev, ibs_wake_cmd, > sizeof(ibs_wake_cmd)); > >> he maybe be a DTS expert but not BT from his present fix history for >> bluetooth system. > > Hi Wren, i think i don't need to care about why wrong condition cause wrong results.