Messages in this thread | | | Subject | Re: [PATCH] Bluetooth: btbcm: Add default address for BCM43341B | From | Ferry Toth <> | Date | Tue, 9 Apr 2019 17:17:41 +0200 |
| |
Op 09-04-19 om 16:45 schreef Andy Shevchenko: > On Tue, Apr 09, 2019 at 04:15:50PM +0200, Ferry Toth wrote: >> The BCM43341B has the default MAC address 43:34:1B:00:1F:AC if none >> is given. This address was found when enabling Bluetooth on multiple >> Intel Edison modules. It also contains the sequence 43341B, the name >> the chip identifies itself as. Using the same BD_ADDR is problematic >> when having multiple Intel Edison modules in each others range. >> The default address also has the LAA (locally administered address) >> bit set which prevents a BNEP device from being created, needed for >> BT tethering. >> >> Add this to the list of black listed default MAC addresses and let >> the user configure a valid one using f.i. >> `btmgmt -i hci0 public-addr xx:xx:xx:xx:xx:xx` >> > Thank you! > > Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> > > P.S. It seems the To: field was empty, dunno if it prevents bots to parse the > original message. > Sorry, is my first kernel patch. Seems it has been picked up by marc.info and gmane, so I hope those are representative. >> Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> >> Signed-off-by: Ferry Toth <ftoth@exalondelft.nl> >> --- >> drivers/bluetooth/btbcm.c | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/bluetooth/btbcm.c b/drivers/bluetooth/btbcm.c >> index d5d6e6e5da3b..62d3aa2b26f6 100644 >> --- a/drivers/bluetooth/btbcm.c >> +++ b/drivers/bluetooth/btbcm.c >> @@ -37,6 +37,7 @@ >> #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}}) >> +#define BDADDR_BCM43341B (&(bdaddr_t) {{0xac, 0x1f, 0x00, 0x1b, 0x34, 0x43}}) >> >> int btbcm_check_bdaddr(struct hci_dev *hdev) >> { >> @@ -82,7 +83,8 @@ int btbcm_check_bdaddr(struct hci_dev *hdev) >> !bacmp(&bda->bdaddr, BDADDR_BCM20702A1) || >> !bacmp(&bda->bdaddr, BDADDR_BCM4324B3) || >> !bacmp(&bda->bdaddr, BDADDR_BCM4330B1) || >> - !bacmp(&bda->bdaddr, BDADDR_BCM43430A0)) { >> + !bacmp(&bda->bdaddr, BDADDR_BCM43430A0) || >> + !bacmp(&bda->bdaddr, BDADDR_BCM43341B)) { >> bt_dev_info(hdev, "BCM: Using default device address (%pMR)", >> &bda->bdaddr); >> set_bit(HCI_QUIRK_INVALID_BDADDR, &hdev->quirks); >> -- >> 2.19.1 >>
| |