On Thu, 7 May 2026 17:24:42 +0200, Loic Poulain
<[email protected]> said:
> When the controller BD address is invalid (zero or default),
> set the NVMEM quirks to allow retrieving the address from a
> 'local-bd-address' NVMEM cell. The BD address is often stored
> alongside the WiFi MAC address in big-endian format, so also
> set the big-endian quirk.
>
> Signed-off-by: Loic Poulain <[email protected]>
> ---
>  drivers/bluetooth/btqca.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/bluetooth/btqca.c b/drivers/bluetooth/btqca.c
> index 
> dda76365726f0bfe0e80e05fe04859fa4f0592e1..df33eacfd29fa680f393f90215150743e6001d5b
>  100644
> --- a/drivers/bluetooth/btqca.c
> +++ b/drivers/bluetooth/btqca.c
> @@ -721,8 +721,11 @@ static int qca_check_bdaddr(struct hci_dev *hdev, const 
> struct qca_fw_config *co
>       }
>
>       bda = (struct hci_rp_read_bd_addr *)skb->data;
> -     if (!bacmp(&bda->bdaddr, &config->bdaddr))
> +     if (!bacmp(&bda->bdaddr, &config->bdaddr)) {
>               hci_set_quirk(hdev, HCI_QUIRK_USE_BDADDR_PROPERTY);
> +             hci_set_quirk(hdev, HCI_QUIRK_USE_BDADDR_NVMEM);
> +             hci_set_quirk(hdev, HCI_QUIRK_BDADDR_NVMEM_BE);
> +     }
>
>       kfree_skb(skb);
>
>
> --
> 2.34.1
>
>

Reviewed-by: Bartosz Golaszewski <[email protected]>

Reply via email to