| From 8e341c7c3c847fd3255c60cd5369db42b3323928 Mon Sep 17 00:00:00 2001 |
| From: Miao-chen Chou <mcchou@chromium.org> |
| Date: Fri, 14 Jan 2022 16:44:31 -0800 |
| Subject: [PATCH] CHROMIUM: bluetooth: disable MSFT HCI extension on RTL8822 |
| and RTL8852 |
| |
| The firmware implementation of RTL8822 and RTL8852 does support the |
| advertisement monitoring feature of Microsoft HCI extension. However, |
| there is only one tracking device per condition, and that does not serve |
| Nearby and Fast Pair service well where there can be multiple devices |
| matching the condition in common use cases. And can not be addressed by |
| firmware update, since there is hardware limitation. |
| Given advertisement monitoring is the only feature adopted by Chrome OS, |
| we disable the use of Microsoft HCI extension as a whole. |
| |
| BUG=b:200993792 |
| TEST=Verified that "controller-patterns" does not show up in property |
| SupportedMonitorTypes of org.bluez.AdvertisementMonitorManager1 |
| interface |
| |
| Change-Id: I08ac34b11bd701459122e470b0315820bb45b415 |
| Signed-off-by: Miao-chen Chou <mcchou@chromium.org> |
| Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/third_party/kernel/+/3394224 |
| Reviewed-by: Archie Pusaka <apusaka@chromium.org> |
| --- |
| drivers/bluetooth/btrtl.c | 5 +++-- |
| 1 file changed, 3 insertions(+), 2 deletions(-) |
| |
| diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c |
| --- a/drivers/bluetooth/btrtl.c |
| +++ b/drivers/bluetooth/btrtl.c |
| @@ -690,8 +690,9 @@ struct btrtl_device_info *btrtl_initialize(struct hci_dev *hdev, |
| } |
| } |
| |
| - /* The following chips supports the Microsoft vendor extension, |
| - * therefore set the corresponding VsMsftOpCode. |
| + /* Both RTL8822B and RTL8852A support only one tracking device |
| + * per condition in firmware, the use of MSFT HCI extension is |
| + * eliminated. See b/200993792 for more details. |
| */ |
| if (btrtl_dev->ic_info->has_msft_ext) |
| hci_set_msft_opcode(hdev, 0xFCF0); |
| -- |
| 2.35.0.rc0.227.g00780c9af4-goog |
| |