Some devices ship with the controller default address, like the Orange Pi 3 (BCM4345C5). Allow the bootloader to set a valid address through the device tree. Signed-off-by: Andre Heider <a.heider@xxxxxxxxx> --- drivers/bluetooth/btbcm.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c index 2d2e6d862068..e20e7da45377 100644 --- a/drivers/bluetooth/btbcm.c +++ b/drivers/bluetooth/btbcm.c @@ -8,6 +8,7 @@ #include <linux/module.h> #include <linux/firmware.h> +#include <linux/of.h> #include <asm/unaligned.h> #include <net/bluetooth/bluetooth.h> @@ -440,6 +441,12 @@ int btbcm_finalize(struct hci_dev *hdev) set_bit(HCI_QUIRK_STRICT_DUPLICATE_FILTER, &hdev->quirks); + /* Some devices ship with the controller default address. + * Allow the bootloader to set a valid address through the device tree. + */ + if (of_machine_is_compatible("xunlong,orangepi-3")) + set_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks); + return 0; } EXPORT_SYMBOL_GPL(btbcm_finalize); -- 2.24.0