Hi,
On Tue, Apr 30, 2024 at 10:08 AM Johan Hovold johan+linaro@kernel.org wrote:
The default device address apparently comes from the NVM configuration file and can differ quite a bit between controllers.
Store the default address when parsing the configuration file and use it to determine whether the controller has been provisioned with an address.
This makes sure that devices without a unique address start as unconfigured unless a valid address has been provided in the devicetree.
Fixes: 00567f70051a ("Bluetooth: qca: fix invalid device address check") Cc: stable@vger.kernel.org # 6.5 Cc: Doug Anderson dianders@chromium.org Cc: Janaki Ramaiah Thota quic_janathot@quicinc.com Signed-off-by: Johan Hovold johan+linaro@kernel.org
drivers/bluetooth/btqca.c | 21 ++++++++++++--------- drivers/bluetooth/btqca.h | 2 ++ 2 files changed, 14 insertions(+), 9 deletions(-)
I can confirm that my sc7180-trogdor-based devices manage to detect the default address after this series and thus still look to the device-tree for their address. Thus:
Tested-by: Douglas Anderson dianders@chromium.org
I'll continue to note that I still wish that detecting the default address wasn't important for trogdor. I still feel that the fact that they have a valid BT address stored in their device tree (populated by firmware) should take precedence. ...but I won't insist.
I'm happy to let Bluetooth/Qualcomm folks decide if they like this implementation and I don't have tons of Bluetooth context, so I'll not add a Reviewed-by tag.
-Doug