Re: [PATCH 1/2] Bluetooth: btusb: Support public address configuration for MediaTek Chip.
From: Marcel Holtmann <marcel@holtmann.org>
Date: 2021-08-30 15:04:03
Hi Mark,
quoted hunk
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 <redacted> --- 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? Regards Marcel