Re: [PATCH RESEND 2/2] Bluetooth: fix use-bdaddr-property quirk

Linux regression tracking #adding (Thorsten Leemhuis)
2023-07-08T14:12:34Z

[TLDR: I'm adding this report to the list of tracked Linux kernel
regressions; the text you find below is based on a few templates
paragraphs you might have encountered already in similar form.
See link in footer if these mails annoy you.]

On 07.07.23 11:41, Amit Pundir wrote:
> Hi Johan,
>
> On Wed, 31 May 2023 at 14:35, Johan Hovold <johan+linaro@kernel.org> wrote:
>>
>> Devices that lack persistent storage for the device address can indicate
>> this by setting the HCI_QUIRK_INVALID_BDADDR which causes the controller
>> to be marked as unconfigured until user space has set a valid address.
>>
>> The related HCI_QUIRK_USE_BDADDR_PROPERTY was later added to similarly
>> indicate that the device lacks a valid address but that one may be
>> specified in the devicetree.
>>
>> As is clear from commit 7a0e5b15ca45 ("Bluetooth: Add quirk for reading
>> BD_ADDR from fwnode property") that added and documented this quirk and
>> commits like de79a9df1692 ("Bluetooth: btqcomsmd: use
>> HCI_QUIRK_USE_BDADDR_PROPERTY"), the device address of controllers with
>> this flag should be treated as invalid until user space has had a chance
>> to configure the controller in case the devicetree property is missing.
>>
>> As it does not make sense to allow controllers with invalid addresses,
>> restore the original semantics, which also makes sure that the
>> implementation is consistent (e.g. get_missing_options() indicates that
>> the address must be set) and matches the documentation (including
>> comments in the code, such as, "In case any of them is set, the
>> controller has to start up as unconfigured.").
>>
>
> This patch broke Bluetooth on Dragonboard 845c (SDM845) devboard.
> Reverting this patch fixes the BT breakage and I see the following
> messages in dmesg:
>
> Bluetooth: hci0: setting up wcn399x
> Bluetooth: hci0: QCA Product ID :0x0000000a
> Bluetooth: hci0: QCA SOC Version :0x40010214
> Bluetooth: hci0: QCA ROM Version :0x00000201
> Bluetooth: hci0: QCA Patch Version:0x00000001
> Bluetooth: hci0: QCA controller version 0x02140201
> Bluetooth: hci0: QCA Downloading qca/crbtfw21.tlv
> Bluetooth: hci0: QCA Downloading qca/crnv21.bin
> Bluetooth: hci0: QCA setup on UART is completed

Thanks for the report. To be sure the issue doesn't fall through the
cracks unnoticed, I'm adding it to regzbot, the Linux kernel regression
tracking bot:

#regzbot ^introduced 6945795bc81
#regzbot title Bluetooth: Dragonboard 845c (SDM845) devboard broken
#regzbot ignore-activity

This isn't a regression? This issue or a fix for it are already
discussed somewhere else? It was fixed already? You want to clarify when
the regression started to happen? Or point out I got the title or
something else totally wrong? Then just reply and tell me -- ideally
while also telling regzbot about it, as explained by the page listed in
the footer of this mail.

Developers: When fixing the issue, remember to add 'Link:' tags pointing
to the report (the parent of this mail). See page linked in footer for
details.

Ciao, Thorsten (wearing his 'the Linux kernel's regression tracker' hat)
--
Everything you wanna know about Linux kernel regression tracking:
https://linux-regtracking.leemhuis.info/about/#tldr
That page also explains what to do if mails like this annoy you.