[PATCH AUTOSEL 6.14 011/108] Bluetooth: btusb: Add RTL8851BE device 0x0bda:0xb850

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: WangYuli <wangyuli@xxxxxxxxxxxxx>

[ Upstream commit c4dbb1bdada90168dd5fa2f7e4553cb0e1dad3c8 ]

The information in /sys/kernel/debug/usb/devices about the Bluetooth
device is listed as the below:

T:  Bus=01 Lev=01 Prnt=01 Port=01 Cnt=02 Dev#=  3 Spd=12   MxCh= 0
D:  Ver= 1.00 Cls=e0(wlcon) Sub=01 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=0bda ProdID=b850 Rev= 0.00
S:  Manufacturer=Realtek
S:  Product=Bluetooth Radio
S:  SerialNumber=00e04c000001
C:* #Ifs= 2 Cfg#= 1 Atr=e0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=81(I) Atr=03(Int.) MxPS=  16 Ivl=1ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=82(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
I:  If#= 1 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=   9 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
I:  If#= 1 Alt= 2 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  17 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
I:  If#= 1 Alt= 3 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  25 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
I:  If#= 1 Alt= 4 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  33 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
I:  If#= 1 Alt= 5 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  49 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
I:  If#= 1 Alt= 6 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=03(O) Atr=01(Isoc) MxPS=  63 Ivl=1ms
E:  Ad=83(I) Atr=01(Isoc) MxPS=  63 Ivl=1ms

Co-developed-by: Hao Li <lihao1@xxxxxxxxxxxxx>
Signed-off-by: Hao Li <lihao1@xxxxxxxxxxxxx>
Signed-off-by: WangYuli <wangyuli@xxxxxxxxxxxxx>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---

Now let me analyze this commit thoroughly based on the criteria and
compare it with the similar historical commits. **YES** This commit
should be backported to stable kernel trees. **Extensive Analysis:**
**1. Nature of the Change:** The commit adds USB device ID support for a
new Realtek RTL8851BE Bluetooth device (0x0bda:0xb850) to the
`quirks_table` in `drivers/bluetooth/btusb.c`. This is a minimal,
contained change that adds exactly one line: ```c { USB_DEVICE(0x0bda,
0xb850), .driver_info = BTUSB_REALTEK }, ``` **2. Comparison with
Historical Similar Commits:** All provided historical similar commits
(commits #2-#5) that add Realtek Bluetooth device IDs have "Backport
Status: YES". These commits follow the exact same pattern: - Adding USB
device IDs for Realtek Bluetooth chips - Minimal code changes (single
line additions to the device table) - Similar commit message structure
with device information from `/sys/kernel/debug/usb/devices` - Same
driver_info flags (BTUSB_REALTEK and sometimes BTUSB_WIDEBAND_SPEECH)
The only commit marked with "Backport Status: NO" (commit #1) was for
RTL8851BE device 13d3:3600, but this appears to be an inconsistent
marking since it's functionally identical to the others. **3. Bug Fix
Criteria:** This commit fixes a real user issue - users with this
specific RTL8851BE device variant would not have working Bluetooth
functionality without this device ID entry. The fix enables hardware
that was previously non-functional. **4. Risk Assessment:** The risk is
extremely minimal because: - It only adds a device ID to an existing,
well-tested code path - The BTUSB_REALTEK flag directs the device to
established Realtek-specific handling code - No existing functionality
is modified - The change is confined to the device recognition table
**5. Code Context Analysis:** Examining the actual kernel code at
`/home/sasha/linux/drivers/bluetooth/btusb.c:516`, I can confirm the
commit has been applied and fits perfectly within the existing RTL8851BE
device section. The device is grouped appropriately with other RTL8851BE
devices and uses the same driver_info flags as the existing RTL8851BE
entry (0x13d3:0x3600). **6. Stable Tree Compatibility:** Device ID
additions like this are ideal for stable tree backporting because they:
- Fix hardware compatibility issues for specific devices - Don't
introduce new features or architectural changes - Follow the stable
kernel rule of "important fixes with minimal risk" - Are self-contained
and don't depend on other changes **7. User Impact:** Without this
change, users with RTL8851BE devices using vendor ID 0x0bda and product
ID 0xb850 would have non-functional Bluetooth, which significantly
impacts user experience. The commit perfectly matches the pattern of
previously approved similar commits and meets all stable tree criteria
for backporting.

 drivers/bluetooth/btusb.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 64f0f64a5459c..562758d01fdba 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -513,6 +513,7 @@ static const struct usb_device_id quirks_table[] = {
 						     BTUSB_WIDEBAND_SPEECH },
 
 	/* Realtek 8851BE Bluetooth devices */
+	{ USB_DEVICE(0x0bda, 0xb850), .driver_info = BTUSB_REALTEK },
 	{ USB_DEVICE(0x13d3, 0x3600), .driver_info = BTUSB_REALTEK },
 
 	/* Realtek 8852AE Bluetooth devices */
-- 
2.39.5





[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux