RE: [PATCH 1/2] Bluetooth: btusb: Support public address configuration for MediaTek Chip.

From: Mark-YW Chen (陳揚文)
Date: Tue Aug 31 2021 - 05:42:44 EST


Hi Marcel,

> > The MediaTek chip support vendor specific HCI command(0xfc1a) to
> > change the public address. Add hdev->set_bdaddr handler for MediaTek
> > Chip.
> >
> > Signed-off-by: mark-yw.chen <mark-yw.chen@xxxxxxxxxxxx>
> > ---
> > drivers/bluetooth/btusb.c | 18 ++++++++++++++++++
> > 1 file changed, 18 insertions(+)
> >
> > diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> > index 60d2fce59a71..41e7c9f28d82 100644
> > --- a/drivers/bluetooth/btusb.c
> > +++ b/drivers/bluetooth/btusb.c
> > @@ -2200,6 +2200,23 @@ struct btmtk_section_map {
> > };
> > } __packed;
> >
> > +static int btusb_set_bdaddr_mtk(struct hci_dev *hdev, const bdaddr_t
> > +*bdaddr) {
> > + struct sk_buff *skb;
> > + long ret;
> > +
> > + skb = __hci_cmd_sync(hdev, 0xfc1a, sizeof(bdaddr), bdaddr,
> HCI_INIT_TIMEOUT);
> > + if (IS_ERR(skb)) {
> > + ret = PTR_ERR(skb);
> > + bt_dev_err(hdev, "changing Mediatek device address failed
> (%ld)",
> > + ret);
> > + return ret;
> > + }
> > + kfree_skb(skb);
> > +
> > + return 0;
> > +}
> > +
>
> this is not a permanent change, correct? Meaning a power cycle will bring back
> the original BD_ADDR?
>

Yes, it's not a permanent change.
After doing a power cycle or Mediatek specific Bluetooth reset, Mediatek Chips will bring back the original BD_ADDRESS.

With best regards,
Mark