Bluetooth: btbcm: Add default address for BCM2076B1
authorStephan Gerhold <stephan@gerhold.net>
Wed, 1 May 2019 07:18:23 +0000 (09:18 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Sun, 5 May 2019 17:27:49 +0000 (19:27 +0200)
BCM2076B1 appears to use 20:76:A0:00:56:79 as default address.
This address is used by at least 5 devices with the AMPAK AP6476
module and is also suspicious because it starts with the chip name
2076 (followed by a different revision A0 for some reason).

Add it to the list of default addresses and leave it up to the
user to configure a valid one.

Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
drivers/bluetooth/btbcm.c

index 71e74ec083108eda2762a90e625e7e9d9e503eca..8e17963ab65ae5ecaafc1864b37ea9e0d22a0fa1 100644 (file)
@@ -34,6 +34,7 @@
 
 #define BDADDR_BCM20702A0 (&(bdaddr_t) {{0x00, 0xa0, 0x02, 0x70, 0x20, 0x00}})
 #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_BCM4324B3 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb3, 0x24, 0x43}})
 #define BDADDR_BCM4330B1 (&(bdaddr_t) {{0x00, 0x00, 0x00, 0xb1, 0x30, 0x43}})
@@ -70,6 +71,9 @@ int btbcm_check_bdaddr(struct hci_dev *hdev)
         * The address 20:70:02:A0:00:00 indicates a BCM20702A1 controller
         * with no configured address.
         *
+        * The address 20:76:A0:00:56:79 indicates a BCM2076B1 controller
+        * with no configured address.
+        *
         * The address 43:24:B3:00:00:00 indicates a BCM4324B3 controller
         * with waiting for configuration state.
         *
@@ -81,6 +85,7 @@ int btbcm_check_bdaddr(struct hci_dev *hdev)
         */
        if (!bacmp(&bda->bdaddr, BDADDR_BCM20702A0) ||
            !bacmp(&bda->bdaddr, BDADDR_BCM20702A1) ||
+           !bacmp(&bda->bdaddr, BDADDR_BCM2076B1) ||
            !bacmp(&bda->bdaddr, BDADDR_BCM4324B3) ||
            !bacmp(&bda->bdaddr, BDADDR_BCM4330B1) ||
            !bacmp(&bda->bdaddr, BDADDR_BCM43430A0) ||