From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 33EFB3AFD02 for ; Sat, 22 Aug 2026 14:12:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787407960; cv=none; b=Y4RrTY9lcXgQXjpzm5g17aGJeeSy7W6DfQ22kiagGk5x1d5Fje0vliFfUhvO6pO+RO0NGDwTE4bLPP+w9fCcq/Isv3DaDjYOebMhnEkXQyit2hwAdcx401HdVtpgCoR/6blZJznsn++Iur0JgQGRhKoyqbOXP8OQP7czIXp6MM0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787407960; c=relaxed/simple; bh=a/Zen0w90tMij5iqhPeoVzR8LiXYaB3RDaflEiW67OI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=bpWN2WAMPn9qPLhdDqv+uWTnsZKMJGfyAUvL8TN/QVF3Spp9L9vlbL61M2HW5m0zAEPAQGfeyh25ehaQTSLyBEVOsrjEPnIOaCL3RMRNmO5+kssVW3D5IsQgujsRhb5pKB3SL+/ojCu4FuCcSswkee8hRstI9UKMGN/VmrnBrMk= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=MOYB5Iyi; arc=none smtp.client-ip=209.85.208.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="MOYB5Iyi" Received: by mail-ed1-f44.google.com with SMTP id 4fb4d7f45d1cf-6a18840e2abso3615858a12.0 for ; Sat, 22 Aug 2026 07:12:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1787407957; x=1788012757; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=rtlvMLrP2jUPQduDljPzGOvdFkacvebUJpx+3lFSi1E=; b=MOYB5Iyiuvr8kjUTiD2ipGJ4JZUxHmAg3tmAo9rVLcvJTNrJJ7nCt6Dzz+m78HHYl4 ZHjRBslE9Gt+vVYPSnIda/evhFtXQvgKqnBR4Ow2qfG5sGZN3xSAMkztxtmYMMPxennr Tf5myLURuTXuiQ9h3kRnJe/k9D7tOstOvBSUyFB1v0E5fTYK9a+XYeIzC5qpIUaoH6tj yxaIyO8ib7ofm58m95YjVIL+DaWg9ps5jtYUSPspJdBi9Dib8rrGqCvUixZJ+Gtmhcbb 3j7HXkRrglg7mNOIoezubDchKaWMvw8+1+IXJRAUpZm4Xmqrl2uWUOncXGkFC5j+hR4I WS/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787407957; x=1788012757; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=rtlvMLrP2jUPQduDljPzGOvdFkacvebUJpx+3lFSi1E=; b=nAr2nYNqIicWas5pR/1t4Jjl/kTRNmOqj+wcoiaR2wWCfsTQrM0Z7Rj3tav//63WMw Kcr2syb/MhSyaVesNdbrFPdh1jKrhzBoq6BNuYapK4f1ha1eiuzUU9CgoHQT7X+S/Nad VmHiejHVqlTkb3Q2oAkZBDv/PG9k4HB0SHHBG0XaAgyWSYEUpMACsfz0K7ekK97HIFXf ecvj09v+Uxhb1zixhm5b0t336eFzs0Uj+UD9IvEbCT+njbfLIQpmg65nL+gzhhju3W8i D0O+M8AJQmh0sujEblIPIr1ZphEHNPj2L8UXCVfKU/v0IlOUZ6XGx4p260+oi184ml05 lQ1w== X-Forwarded-Encrypted: i=1; AHgh+Rp6TtqVHsYX1lf3C1qNBOt96z1iEbQz+ayOw7Ra9cZ+des88rbbIs3/td6axDDrqRo03KXHlWIu7E582qA=@vger.kernel.org X-Gm-Message-State: AFuF++m63uZdZ5yts7UzGANeo+yYuo4uC8RZg+KyiXjCYcp3CTZf0m89 ALo+nwUFUA+i6fCGb51A0HWE4hkey2cKfpVDBu2I7qXdtzYlyqpx5JxO X-Gm-Gg: AR+sD13d5xeOYsiAexShsrrtkR9gcVN5KAcOaNVYtSIPMe46MTMbM5qNambM6AXxCZr ohYZKvjtGOqafZGr4Gpdko6R6fhCdaqCg1JhMb4/fzpIMKOsu2oe0lILF+m4jwJjM5y9BEmKC1i 6Ri+J1iWB2A6bTEGrvf5jLcx/H3/kYjQy6ynDwo5dIS+Cxy/4+AKv/ZwEV4vUF0Y8EzHe3597O0 /Eo6R+oP4SGq8vyLC9O4xymbOu4cuNydhC6qWdxrtlGGUJW4S+mMGvb6vjrFRhzo4a89SC/9ePa Xn3+SrQ2gvfBrBVY9r1J1Kfeu56b4U1UOVgcUFYfdnn0vpZpX43lN8F7zE477SZ55JbX15JGZzJ R9gpkBv+6vQBqetHpKOozCVru8ST7yl1sZhAcdWQV+gQ0CmS2cZ67t4JzLur0KvK6Vq426HWif1 V1XljDasyQaVZ1PQ9JbrRW00rSYAvyiikN4ojlaDUNO2WSMme4JqJsHocXO0Jwzcpnco8zCRlKU joyaAxgTCp8gmghVxnK5Oa54T9jjKjslz652lkRCGKx42/c22eQl/qelyA1cBS+mXvUPBEvQFgH XgI0M991KRubwOPlCg== X-Received: by 2002:a17:907:d78a:b0:c20:899:b8bc with SMTP id a640c23a62f3a-c2491c836e7mr564736266b.6.1787407957178; Sat, 22 Aug 2026 07:12:37 -0700 (PDT) Received: from bobo (d163-170.icpnet.pl. [109.173.163.170]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-c2496734bfcsm340625266b.43.2026.08.22.07.12.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 22 Aug 2026 07:12:36 -0700 (PDT) From: Kamil Serwus To: linux-bluetooth@vger.kernel.org Cc: Alexej Sidorenko , Luiz Augusto von Dentz , Marcel Holtmann , regressions@lists.linux.dev, linux-kernel@vger.kernel.org, Kamil Serwus Subject: [RFC PATCH 2/2] Bluetooth: btrtl: drop the blanket RTL8761B extended scan quirk Date: Sat, 22 Aug 2026 16:11:15 +0200 Message-ID: <20260822141115.58815-3-kserwus@gmail.com> X-Mailer: git-send-email 2.55.0 In-Reply-To: <20260822141115.58815-1-kserwus@gmail.com> References: <20260822141115.58815-1-kserwus@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Commit 5ead2063611ae5 ("Bluetooth: btrtl: fix RTL8761B/BU broken LE extended scan") sets HCI_QUIRK_BROKEN_EXT_SCAN for every CHIP_ID_8761B. It was validated on one dongle, USB 0bda:a728, and it regresses others that share the chip id but not the firmware bug. On USB 0bda:8771 (fw 0xdfc6d922) extended scan works flawlessly, while the legacy scan-disable command the quirk forces makes the controller stop answering entirely: Bluetooth: hci0: command 0x200c tx timeout Bluetooth: hci0: Opcode 0x200c failed: -110 Bluetooth: hci0: Unable to disable scanning: -110 Bluetooth: hci0: Resetting usb device. btusb then resets the device, it re-enumerates (hci0 -> hci1 -> hci2) and every connected BLE device is dropped - here a Kensington SlimBlade Pro trackball and a Keychron Q8 Max keyboard. Linux 7.1.x, without the quirk, drives the same dongle with the same firmware for hours without a single scan error. Nothing in btrtl can tell the two apart: same project_id, same ic_id_table entry, same rtl8761bu_fw.bin. They differ only by USB id, which btrtl_set_quirks() cannot see, and both take their driver_info from the same generic Realtek entry in btusb's quirks_table, so driver_info cannot separate them either. With the previous patch the 0bda:a728 dongle recognises itself on its first rejected extended scan, so the static guess is no longer needed. Fixes: 5ead2063611ae ("Bluetooth: btrtl: fix RTL8761B/BU broken LE extended scan") Signed-off-by: Kamil Serwus --- 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, -- 2.55.0