Bluetooth: btbcm: add default address for BCM43430A1
authorMans Rullgard <mans@mansr.com>
Sat, 15 Jul 2023 16:41:59 +0000 (17:41 +0100)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Fri, 11 Aug 2023 18:50:05 +0000 (11:50 -0700)
The BCM43430A1 has a default MAC address of AA:AA:AA:AA:AA:AA.
Although, unlike some other entries, this does not include the
chip name, it is clearly not a real address. This was found in
AzureWave AW-NB197SM and AW-NM372SM modules.

Signed-off-by: Mans Rullgard <mans@mansr.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/btbcm.c

index de2ea589aa49bd1f833fcf9d18e82fb35edb95b0..0a5445ac5e1b7c01029fb4e88018520b9f2ce42a 100644 (file)
@@ -24,6 +24,7 @@
 #define BDADDR_BCM20702A1 (&(bdaddr_t) {{0x00, 0x00, 0xa0, 0x02, 0x70, 0x20}})
 #define BDADDR_BCM2076B1 (&(bdaddr_t) {{0x79, 0x56, 0x00, 0xa0, 0x76, 0x20}})
 #define BDADDR_BCM43430A0 (&(bdaddr_t) {{0xac, 0x1f, 0x12, 0xa0, 0x43, 0x43}})
+#define BDADDR_BCM43430A1 (&(bdaddr_t) {{0xaa, 0xaa, 0xaa, 0xaa, 0xaa, 0xaa}})
 #define BDADDR_BCM4324B3 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb3, 0x24, 0x43}})
 #define BDADDR_BCM4330B1 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb1, 0x30, 0x43}})
 #define BDADDR_BCM4334B0 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb0, 0x34, 0x43}})
@@ -115,6 +116,9 @@ int btbcm_check_bdaddr(struct hci_dev *hdev)
         *
         * The address 43:43:A0:12:1F:AC indicates a BCM43430A0 controller
         * with no configured address.
+        *
+        * The address AA:AA:AA:AA:AA:AA indicates a BCM43430A1 controller
+        * with no configured address.
         */
        if (!bacmp(&bda->bdaddr, BDADDR_BCM20702A0) ||
            !bacmp(&bda->bdaddr, BDADDR_BCM20702A1) ||
@@ -124,6 +128,7 @@ int btbcm_check_bdaddr(struct hci_dev *hdev)
            !bacmp(&bda->bdaddr, BDADDR_BCM4334B0) ||
            !bacmp(&bda->bdaddr, BDADDR_BCM4345C5) ||
            !bacmp(&bda->bdaddr, BDADDR_BCM43430A0) ||
+           !bacmp(&bda->bdaddr, BDADDR_BCM43430A1) ||
            !bacmp(&bda->bdaddr, BDADDR_BCM43341B)) {
                /* Try falling back to BDADDR EFI variable */
                if (btbcm_set_bdaddr_from_efi(hdev) != 0) {