From: Kamil Serwus <kserwus@gmail.com>
To: linux-bluetooth@vger.kernel.org
Cc: Alexej Sidorenko <alexej@sidorenko.cz>,
Luiz Augusto von Dentz <luiz.dentz@gmail.com>,
Marcel Holtmann <marcel@holtmann.org>,
regressions@lists.linux.dev, linux-kernel@vger.kernel.org,
Thorsten Leemhuis <regressions@leemhuis.info>,
Kamil Serwus <kserwus@gmail.com>,
stable@vger.kernel.org
Subject: [PATCH] Revert "Bluetooth: btrtl: fix RTL8761B/BU broken LE extended scan"
Date: Sun, 23 Aug 2026 12:29:59 +0200 [thread overview]
Message-ID: <20260823102959.100368-1-kserwus@gmail.com> (raw)
This reverts commit 5ead2063611ae56809b1b113ac44cef9547c81d7.
It sets HCI_QUIRK_BROKEN_EXT_SCAN for every CHIP_ID_8761B, which forces
the legacy LE Set Scan Enable command (0x200c). That was validated on one
dongle, USB 0bda:a728, and it breaks others sharing the chip id: on
0bda:8771 (fw 0xdfc6d922) extended scan works fine, but the firmware
stops answering the legacy scan-disable command:
Bluetooth: hci0: command 0x200c tx timeout
Bluetooth: hci0: Unable to disable scanning: -110
Bluetooth: hci0: Resetting usb device.
btusb then resets the controller, it re-enumerates and every connected
BLE device is dropped, which on a machine with a Bluetooth keyboard and
trackball leaves no input at all. v7.1.x drives the same dongle, with the
same firmware, for hours without a single scan error.
This does put 0bda:a728 back to its pre-v7.2 behaviour, where extended
scan logged repeated -EBUSY messages but the controller stayed usable. A
detection-based fix is under discussion on the list, but the culprit has
already reached 7.1.9 and 6.18.45, so the regression is better undone
first.
Fixes: 5ead2063611a ("Bluetooth: btrtl: fix RTL8761B/BU broken LE extended scan")
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/linux-bluetooth/20260822141115.58815-1-kserwus@gmail.com/
Signed-off-by: Kamil Serwus <kserwus@gmail.com>
---
drivers/bluetooth/btrtl.c | 13 -------------
1 file changed, 13 deletions(-)
diff --git a/drivers/bluetooth/btrtl.c b/drivers/bluetooth/btrtl.c
index 7f54d2d2d..03fa9409e 100644
--- a/drivers/bluetooth/btrtl.c
+++ b/drivers/bluetooth/btrtl.c
@@ -1343,19 +1343,6 @@ void btrtl_set_quirks(struct hci_dev *hdev, struct btrtl_device_info *btrtl_dev)
if (!btrtl_dev->ic_info)
return;
- switch (btrtl_dev->project_id) {
- case CHIP_ID_8761B:
- /* RTL8761B/BU reports HCI version 5.1 but does not support
- * the LE Extended Scan commands (Opcode 0x2042), causing
- * repeated -EBUSY failures when BlueZ attempts extended
- * scanning while a connection is active.
- */
- hci_set_quirk(hdev, HCI_QUIRK_BROKEN_EXT_SCAN);
- break;
- default:
- break;
- }
-
switch (btrtl_dev->ic_info->lmp_subver) {
case RTL_ROM_LMP_8703B:
/* 8723CS reports two pages for local ext features,
base-commit: 8d3ae59288f1e7d58d76558a6ee96d533bc5019f
--
2.55.0
next reply other threads:[~2026-08-23 10:31 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-08-23 10:29 Kamil Serwus [this message]
2026-08-25 11:49 ` [PATCH] Revert "Bluetooth: btrtl: fix RTL8761B/BU broken LE extended scan" Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260823102959.100368-1-kserwus@gmail.com \
--to=kserwus@gmail.com \
--cc=alexej@sidorenko.cz \
--cc=linux-bluetooth@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=luiz.dentz@gmail.com \
--cc=marcel@holtmann.org \
--cc=regressions@leemhuis.info \
--cc=regressions@lists.linux.dev \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox