diff mbox series

[v3] Bluetooth: btusb: Add MT7925 support for ID 0x13d3:0x3608

Message ID D3E1285F7DBFAB3E+20241108082418.187499-1-wangyuli@uniontech.com (mailing list archive)
State New
Headers show
Series [v3] Bluetooth: btusb: Add MT7925 support for ID 0x13d3:0x3608 | expand

Checks

Context Check Description
tedd_an/pre-ci_am success Success
tedd_an/CheckPatch success CheckPatch PASS
tedd_an/GitLint success Gitlint PASS
tedd_an/SubjectPrefix success Gitlint PASS
tedd_an/BuildKernel fail BuildKernel: FAIL: drivers/bluetooth/btusb.c:681:12: error: ‘BTUSB_VALID_LE_STATES’ undeclared here (not in a function); did you mean ‘BTUSB_INVALID_LE_STATES’? 681 | BTUSB_VALID_LE_STATES }, | ^~~~~~~~~~~~~~~~~~~~~ | BTUSB_INVALID_LE_STATES make[4]: *** [scripts/Makefile.build:229: drivers/bluetooth/btusb.o] Error 1 make[3]: *** [scripts/Makefile.build:478: drivers/bluetooth] Error 2 make[2]: *** [scripts/Makefile.build:478: drivers] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/github/workspace/src/src/Makefile:1936: .] Error 2 make: *** [Makefile:224: __sub-make] Error 2
tedd_an/CheckAllWarning fail CheckAllWarning: FAIL: drivers/bluetooth/btusb.c:681:12: error: ‘BTUSB_VALID_LE_STATES’ undeclared here (not in a function); did you mean ‘BTUSB_INVALID_LE_STATES’? 681 | BTUSB_VALID_LE_STATES }, | ^~~~~~~~~~~~~~~~~~~~~ | BTUSB_INVALID_LE_STATES make[4]: *** [scripts/Makefile.build:229: drivers/bluetooth/btusb.o] Error 1 make[3]: *** [scripts/Makefile.build:478: drivers/bluetooth] Error 2 make[2]: *** [scripts/Makefile.build:478: drivers] Error 2 make[2]: *** Waiting for unfinished jobs.... make[1]: *** [/github/workspace/src/src/Makefile:1936: .] Error 2 make: *** [Makefile:224: __sub-make] Error 2
tedd_an/CheckSparse fail CheckSparse: FAIL: net/bluetooth/af_bluetooth.c:245:25: warning: context imbalance in 'bt_accept_enqueue' - different lock contexts for basic block drivers/bluetooth/hci_ag6xx.c:257:24: warning: restricted __le32 degrades to integer drivers/bluetooth/hci_mrvl.c:170:23: warning: restricted __le16 degrades to integer drivers/bluetooth/hci_mrvl.c:203:23: warning: restricted __le16 degrades to integer net/bluetooth/hci_event.c: note: in included file (through include/net/bluetooth/hci_core.h): ./include/net/bluetooth/hci.h:2616:47: warning: array of flexible structures ./include/net/bluetooth/hci.h:2702:43: warning: array of flexible structures drivers/bluetooth/btusb.c:681:12: error: ‘BTUSB_VALID_LE_STATES’ undeclared here (not in a function); did you mean ‘BTUSB_INVALID_LE_STATES’? 681 | BTUSB_VALID_LE_STATES }, | ^~~~~~~~~~~~~~~~~~~~~ | BTUSB_INVALID_LE_STATES make[4]: *** [scripts/Makefile.build:229: drivers/bluetooth/btusb.o] Error 1 make[3]: *** [scripts/Makefile.build:478: drivers/bluetooth] Error 2 make[2]: *** [scripts/Makefile.build:478: drivers] Error 2 make[2]: *** Waiting for unfinished jobs.... net/bluetooth/hci_codec.c: note: in included file: ./include/net/bluetooth/hci_core.h:147:35: warning: array of flexible structures net/bluetooth/sco.c: note: in included file: ./include/net/bluetooth/hci_core.h:147:35: warning: array of flexible structures make[1]: *** [/github/workspace/src/src/Makefile:1936: .] Error 2 make: *** [Makefile:224: __sub-make] Error 2

Commit Message

WangYuli Nov. 8, 2024, 8:24 a.m. UTC
From: Félix Jara <hello@felixjara.me>

Add compatibility Bluetooth device MT7925 for Asus UM5606 with
ID 13d3:3608.

The device info from /sys/kernel/debug/usb/devices as below.

T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 0
D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=13d3 ProdID=3608 Rev= 1.00
S:  Manufacturer=MediaTek Inc.
S:  Product=Wireless_Device
S:  SerialNumber=000000000
C:* #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=100mA
A:  FirstIf#= 0 IfCount= 3 Cls=e0(wlcon) Sub=01 Prot=01
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=125us
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
E:  Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
E:  Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
E:  Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
E:  Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
E:  Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
E:  Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS=  63 Ivl=1ms
E:  Ad=03(O) Atr=01(Isoc) MxPS=  63 Ivl=1ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
E:  Ad=8a(I) Atr=03(Int.) MxPS=  64 Ivl=125us
E:  Ad=0a(O) Atr=03(Int.) MxPS=  64 Ivl=125us
I:  If#= 2 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
E:  Ad=8a(I) Atr=03(Int.) MxPS= 512 Ivl=125us
E:  Ad=0a(O) Atr=03(Int.) MxPS= 512 Ivl=125us

Tested in Asus Zenbook S 16 UM5606XA

Co-developed-by: Félix Jara <hello@felixjara.me>
Signed-off-by: Félix Jara <hello@felixjara.me>
Tested-by: Félix Jara <hello@felixjara.me>
Link: https://github.com/openSUSE/kernel/pull/10
Signed-off-by: WangYuli <wangyuli@uniontech.com>
---
 drivers/bluetooth/btusb.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Paul Menzel Nov. 8, 2024, 8:48 a.m. UTC | #1
Dear Wang, dear Félix,


Am 08.11.24 um 09:24 schrieb WangYuli:
> From: Félix Jara <hello@felixjara.me>
> 
> Add compatibility Bluetooth device MT7925 for Asus UM5606 with
> ID 13d3:3608.
> 
> The device info from /sys/kernel/debug/usb/devices as below.
> 
> T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 0
> D:  Ver= 2.10 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
> P:  Vendor=13d3 ProdID=3608 Rev= 1.00
> S:  Manufacturer=MediaTek Inc.
> S:  Product=Wireless_Device
> S:  SerialNumber=000000000
> C:* #Ifs= 3 Cfg#= 1 Atr=e0 MxPwr=100mA
> A:  FirstIf#= 0 IfCount= 3 Cls=e0(wlcon) Sub=01 Prot=01
> 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=125us
> E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> I:* If#= 1 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=btusb
> E:  Ad=83(I) Atr=01(Isoc) MxPS=   0 Ivl=1ms
> E:  Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS=   9 Ivl=1ms
> E:  Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS=  17 Ivl=1ms
> E:  Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS=  25 Ivl=1ms
> E:  Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS=  33 Ivl=1ms
> E:  Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS=  49 Ivl=1ms
> E:  Ad=03(O) 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=83(I) Atr=01(Isoc) MxPS=  63 Ivl=1ms
> E:  Ad=03(O) Atr=01(Isoc) MxPS=  63 Ivl=1ms
> I:* If#= 2 Alt= 0 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
> E:  Ad=8a(I) Atr=03(Int.) MxPS=  64 Ivl=125us
> E:  Ad=0a(O) Atr=03(Int.) MxPS=  64 Ivl=125us
> I:  If#= 2 Alt= 1 #EPs= 2 Cls=e0(wlcon) Sub=01 Prot=01 Driver=(none)
> E:  Ad=8a(I) Atr=03(Int.) MxPS= 512 Ivl=125us
> E:  Ad=0a(O) Atr=03(Int.) MxPS= 512 Ivl=125us
> 
> Tested in Asus Zenbook S 16 UM5606XA
> 
> Co-developed-by: Félix Jara <hello@felixjara.me>
> Signed-off-by: Félix Jara <hello@felixjara.me>
> Tested-by: Félix Jara <hello@felixjara.me>
> Link: https://github.com/openSUSE/kernel/pull/10
> Signed-off-by: WangYuli <wangyuli@uniontech.com>

Should there be a space in your name: Wang Yuli?

> ---
>   drivers/bluetooth/btusb.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
> index e9534fbc92e3..2175a09e21be 100644
> --- a/drivers/bluetooth/btusb.c
> +++ b/drivers/bluetooth/btusb.c
> @@ -645,6 +645,11 @@ static const struct usb_device_id quirks_table[] = {
>   	{ USB_DEVICE(0x13d3, 0x3608), .driver_info = BTUSB_MEDIATEK |
>   						     BTUSB_WIDEBAND_SPEECH },
>   
> +	/* MediaTek MT7925 Bluetooth devices */
> +	{ USB_DEVICE(0x13d3, 0x3608), .driver_info = BTUSB_MEDIATEK |
> +						     BTUSB_WIDEBAND_SPEECH |
> +						     BTUSB_VALID_LE_STATES },

There is already an entry for 13d3:3608. Should only 
BTUSB_VALID_LE_STATES be added? Please update the commit message 
(summary and body) accordingly.

> +
>   	/* Additional Realtek 8723AE Bluetooth devices */
>   	{ USB_DEVICE(0x0930, 0x021d), .driver_info = BTUSB_REALTEK },
>   	{ USB_DEVICE(0x13d3, 0x3394), .driver_info = BTUSB_REALTEK },


Kind regards,

Paul
kernel test robot Nov. 8, 2024, 4:54 p.m. UTC | #2
Hi WangYuli,

kernel test robot noticed the following build errors:

[auto build test ERROR on bluetooth/master]
[also build test ERROR on bluetooth-next/master linus/master v6.12-rc6 next-20241108]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/WangYuli/Bluetooth-btusb-Add-MT7925-support-for-ID-0x13d3-0x3608/20241108-162754
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git master
patch link:    https://lore.kernel.org/r/D3E1285F7DBFAB3E%2B20241108082418.187499-1-wangyuli%40uniontech.com
patch subject: [PATCH v3] Bluetooth: btusb: Add MT7925 support for ID 0x13d3:0x3608
config: x86_64-buildonly-randconfig-002-20241108 (https://download.01.org/0day-ci/archive/20241109/202411090003.bXXzsmNP-lkp@intel.com/config)
compiler: clang version 19.1.3 (https://github.com/llvm/llvm-project ab51eccf88f5321e7c60591c5546b254b6afab99)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241109/202411090003.bXXzsmNP-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411090003.bXXzsmNP-lkp@intel.com/

All errors (new ones prefixed by >>):

   In file included from drivers/bluetooth/btusb.c:17:
   In file included from include/linux/suspend.h:5:
   In file included from include/linux/swap.h:9:
   In file included from include/linux/memcontrol.h:21:
   In file included from include/linux/mm.h:2213:
   include/linux/vmstat.h:518:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
     518 |         return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
         |                               ~~~~~~~~~~~ ^ ~~~
>> drivers/bluetooth/btusb.c:651:12: error: use of undeclared identifier 'BTUSB_VALID_LE_STATES'
     651 |                                                      BTUSB_VALID_LE_STATES },
         |                                                      ^
   1 warning and 1 error generated.


vim +/BTUSB_VALID_LE_STATES +651 drivers/bluetooth/btusb.c

   177	
   178	static const struct usb_device_id quirks_table[] = {
   179		/* CSR BlueCore devices */
   180		{ USB_DEVICE(0x0a12, 0x0001), .driver_info = BTUSB_CSR },
   181	
   182		/* Broadcom BCM2033 without firmware */
   183		{ USB_DEVICE(0x0a5c, 0x2033), .driver_info = BTUSB_IGNORE },
   184	
   185		/* Broadcom BCM2045 devices */
   186		{ USB_DEVICE(0x0a5c, 0x2045), .driver_info = BTUSB_BCM2045 },
   187	
   188		/* Atheros 3011 with sflash firmware */
   189		{ USB_DEVICE(0x0489, 0xe027), .driver_info = BTUSB_IGNORE },
   190		{ USB_DEVICE(0x0489, 0xe03d), .driver_info = BTUSB_IGNORE },
   191		{ USB_DEVICE(0x04f2, 0xaff1), .driver_info = BTUSB_IGNORE },
   192		{ USB_DEVICE(0x0930, 0x0215), .driver_info = BTUSB_IGNORE },
   193		{ USB_DEVICE(0x0cf3, 0x3002), .driver_info = BTUSB_IGNORE },
   194		{ USB_DEVICE(0x0cf3, 0xe019), .driver_info = BTUSB_IGNORE },
   195		{ USB_DEVICE(0x13d3, 0x3304), .driver_info = BTUSB_IGNORE },
   196	
   197		/* Atheros AR9285 Malbec with sflash firmware */
   198		{ USB_DEVICE(0x03f0, 0x311d), .driver_info = BTUSB_IGNORE },
   199	
   200		/* Atheros 3012 with sflash firmware */
   201		{ USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 },
   202		{ USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 },
   203		{ USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 },
   204		{ USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 },
   205		{ USB_DEVICE(0x0489, 0xe05f), .driver_info = BTUSB_ATH3012 },
   206		{ USB_DEVICE(0x0489, 0xe076), .driver_info = BTUSB_ATH3012 },
   207		{ USB_DEVICE(0x0489, 0xe078), .driver_info = BTUSB_ATH3012 },
   208		{ USB_DEVICE(0x0489, 0xe095), .driver_info = BTUSB_ATH3012 },
   209		{ USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 },
   210		{ USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 },
   211		{ USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },
   212		{ USB_DEVICE(0x04ca, 0x3006), .driver_info = BTUSB_ATH3012 },
   213		{ USB_DEVICE(0x04ca, 0x3007), .driver_info = BTUSB_ATH3012 },
   214		{ USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 },
   215		{ USB_DEVICE(0x04ca, 0x300b), .driver_info = BTUSB_ATH3012 },
   216		{ USB_DEVICE(0x04ca, 0x300d), .driver_info = BTUSB_ATH3012 },
   217		{ USB_DEVICE(0x04ca, 0x300f), .driver_info = BTUSB_ATH3012 },
   218		{ USB_DEVICE(0x04ca, 0x3010), .driver_info = BTUSB_ATH3012 },
   219		{ USB_DEVICE(0x04ca, 0x3014), .driver_info = BTUSB_ATH3012 },
   220		{ USB_DEVICE(0x04ca, 0x3018), .driver_info = BTUSB_ATH3012 },
   221		{ USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 },
   222		{ USB_DEVICE(0x0930, 0x021c), .driver_info = BTUSB_ATH3012 },
   223		{ USB_DEVICE(0x0930, 0x0220), .driver_info = BTUSB_ATH3012 },
   224		{ USB_DEVICE(0x0930, 0x0227), .driver_info = BTUSB_ATH3012 },
   225		{ USB_DEVICE(0x0b05, 0x17d0), .driver_info = BTUSB_ATH3012 },
   226		{ USB_DEVICE(0x0cf3, 0x0036), .driver_info = BTUSB_ATH3012 },
   227		{ USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 },
   228		{ USB_DEVICE(0x0cf3, 0x3008), .driver_info = BTUSB_ATH3012 },
   229		{ USB_DEVICE(0x0cf3, 0x311d), .driver_info = BTUSB_ATH3012 },
   230		{ USB_DEVICE(0x0cf3, 0x311e), .driver_info = BTUSB_ATH3012 },
   231		{ USB_DEVICE(0x0cf3, 0x311f), .driver_info = BTUSB_ATH3012 },
   232		{ USB_DEVICE(0x0cf3, 0x3121), .driver_info = BTUSB_ATH3012 },
   233		{ USB_DEVICE(0x0cf3, 0x817a), .driver_info = BTUSB_ATH3012 },
   234		{ USB_DEVICE(0x0cf3, 0x817b), .driver_info = BTUSB_ATH3012 },
   235		{ USB_DEVICE(0x0cf3, 0xe003), .driver_info = BTUSB_ATH3012 },
   236		{ USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 },
   237		{ USB_DEVICE(0x0cf3, 0xe005), .driver_info = BTUSB_ATH3012 },
   238		{ USB_DEVICE(0x0cf3, 0xe006), .driver_info = BTUSB_ATH3012 },
   239		{ USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 },
   240		{ USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 },
   241		{ USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 },
   242		{ USB_DEVICE(0x13d3, 0x3395), .driver_info = BTUSB_ATH3012 },
   243		{ USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 },
   244		{ USB_DEVICE(0x13d3, 0x3408), .driver_info = BTUSB_ATH3012 },
   245		{ USB_DEVICE(0x13d3, 0x3423), .driver_info = BTUSB_ATH3012 },
   246		{ USB_DEVICE(0x13d3, 0x3432), .driver_info = BTUSB_ATH3012 },
   247		{ USB_DEVICE(0x13d3, 0x3472), .driver_info = BTUSB_ATH3012 },
   248		{ USB_DEVICE(0x13d3, 0x3474), .driver_info = BTUSB_ATH3012 },
   249		{ USB_DEVICE(0x13d3, 0x3487), .driver_info = BTUSB_ATH3012 },
   250		{ USB_DEVICE(0x13d3, 0x3490), .driver_info = BTUSB_ATH3012 },
   251	
   252		/* Atheros AR5BBU12 with sflash firmware */
   253		{ USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE },
   254	
   255		/* Atheros AR5BBU12 with sflash firmware */
   256		{ USB_DEVICE(0x0489, 0xe036), .driver_info = BTUSB_ATH3012 },
   257		{ USB_DEVICE(0x0489, 0xe03c), .driver_info = BTUSB_ATH3012 },
   258	
   259		/* QCA ROME chipset */
   260		{ USB_DEVICE(0x0cf3, 0x535b), .driver_info = BTUSB_QCA_ROME |
   261							     BTUSB_WIDEBAND_SPEECH },
   262		{ USB_DEVICE(0x0cf3, 0xe007), .driver_info = BTUSB_QCA_ROME |
   263							     BTUSB_WIDEBAND_SPEECH },
   264		{ USB_DEVICE(0x0cf3, 0xe009), .driver_info = BTUSB_QCA_ROME |
   265							     BTUSB_WIDEBAND_SPEECH },
   266		{ USB_DEVICE(0x0cf3, 0xe010), .driver_info = BTUSB_QCA_ROME |
   267							     BTUSB_WIDEBAND_SPEECH },
   268		{ USB_DEVICE(0x0cf3, 0xe300), .driver_info = BTUSB_QCA_ROME |
   269							     BTUSB_WIDEBAND_SPEECH },
   270		{ USB_DEVICE(0x0cf3, 0xe301), .driver_info = BTUSB_QCA_ROME |
   271							     BTUSB_WIDEBAND_SPEECH },
   272		{ USB_DEVICE(0x0cf3, 0xe360), .driver_info = BTUSB_QCA_ROME |
   273							     BTUSB_WIDEBAND_SPEECH },
   274		{ USB_DEVICE(0x0cf3, 0xe500), .driver_info = BTUSB_QCA_ROME |
   275							     BTUSB_WIDEBAND_SPEECH },
   276		{ USB_DEVICE(0x0489, 0xe092), .driver_info = BTUSB_QCA_ROME |
   277							     BTUSB_WIDEBAND_SPEECH },
   278		{ USB_DEVICE(0x0489, 0xe09f), .driver_info = BTUSB_QCA_ROME |
   279							     BTUSB_WIDEBAND_SPEECH },
   280		{ USB_DEVICE(0x0489, 0xe0a2), .driver_info = BTUSB_QCA_ROME |
   281							     BTUSB_WIDEBAND_SPEECH },
   282		{ USB_DEVICE(0x04ca, 0x3011), .driver_info = BTUSB_QCA_ROME |
   283							     BTUSB_WIDEBAND_SPEECH },
   284		{ USB_DEVICE(0x04ca, 0x3015), .driver_info = BTUSB_QCA_ROME |
   285							     BTUSB_WIDEBAND_SPEECH },
   286		{ USB_DEVICE(0x04ca, 0x3016), .driver_info = BTUSB_QCA_ROME |
   287							     BTUSB_WIDEBAND_SPEECH },
   288		{ USB_DEVICE(0x04ca, 0x301a), .driver_info = BTUSB_QCA_ROME |
   289							     BTUSB_WIDEBAND_SPEECH },
   290		{ USB_DEVICE(0x04ca, 0x3021), .driver_info = BTUSB_QCA_ROME |
   291							     BTUSB_WIDEBAND_SPEECH },
   292		{ USB_DEVICE(0x13d3, 0x3491), .driver_info = BTUSB_QCA_ROME |
   293							     BTUSB_WIDEBAND_SPEECH },
   294		{ USB_DEVICE(0x13d3, 0x3496), .driver_info = BTUSB_QCA_ROME |
   295							     BTUSB_WIDEBAND_SPEECH },
   296		{ USB_DEVICE(0x13d3, 0x3501), .driver_info = BTUSB_QCA_ROME |
   297							     BTUSB_WIDEBAND_SPEECH },
   298	
   299		/* QCA WCN6855 chipset */
   300		{ USB_DEVICE(0x0cf3, 0xe600), .driver_info = BTUSB_QCA_WCN6855 |
   301							     BTUSB_WIDEBAND_SPEECH },
   302		{ USB_DEVICE(0x0489, 0xe0cc), .driver_info = BTUSB_QCA_WCN6855 |
   303							     BTUSB_WIDEBAND_SPEECH },
   304		{ USB_DEVICE(0x0489, 0xe0d6), .driver_info = BTUSB_QCA_WCN6855 |
   305							     BTUSB_WIDEBAND_SPEECH },
   306		{ USB_DEVICE(0x0489, 0xe0e3), .driver_info = BTUSB_QCA_WCN6855 |
   307							     BTUSB_WIDEBAND_SPEECH },
   308		{ USB_DEVICE(0x10ab, 0x9309), .driver_info = BTUSB_QCA_WCN6855 |
   309							     BTUSB_WIDEBAND_SPEECH },
   310		{ USB_DEVICE(0x10ab, 0x9409), .driver_info = BTUSB_QCA_WCN6855 |
   311							     BTUSB_WIDEBAND_SPEECH },
   312		{ USB_DEVICE(0x0489, 0xe0d0), .driver_info = BTUSB_QCA_WCN6855 |
   313							     BTUSB_WIDEBAND_SPEECH },
   314		{ USB_DEVICE(0x10ab, 0x9108), .driver_info = BTUSB_QCA_WCN6855 |
   315							     BTUSB_WIDEBAND_SPEECH },
   316		{ USB_DEVICE(0x10ab, 0x9109), .driver_info = BTUSB_QCA_WCN6855 |
   317							     BTUSB_WIDEBAND_SPEECH },
   318		{ USB_DEVICE(0x10ab, 0x9208), .driver_info = BTUSB_QCA_WCN6855 |
   319							     BTUSB_WIDEBAND_SPEECH },
   320		{ USB_DEVICE(0x10ab, 0x9209), .driver_info = BTUSB_QCA_WCN6855 |
   321							     BTUSB_WIDEBAND_SPEECH },
   322		{ USB_DEVICE(0x10ab, 0x9308), .driver_info = BTUSB_QCA_WCN6855 |
   323							     BTUSB_WIDEBAND_SPEECH },
   324		{ USB_DEVICE(0x10ab, 0x9408), .driver_info = BTUSB_QCA_WCN6855 |
   325							     BTUSB_WIDEBAND_SPEECH },
   326		{ USB_DEVICE(0x10ab, 0x9508), .driver_info = BTUSB_QCA_WCN6855 |
   327							     BTUSB_WIDEBAND_SPEECH },
   328		{ USB_DEVICE(0x10ab, 0x9509), .driver_info = BTUSB_QCA_WCN6855 |
   329							     BTUSB_WIDEBAND_SPEECH },
   330		{ USB_DEVICE(0x10ab, 0x9608), .driver_info = BTUSB_QCA_WCN6855 |
   331							     BTUSB_WIDEBAND_SPEECH },
   332		{ USB_DEVICE(0x10ab, 0x9609), .driver_info = BTUSB_QCA_WCN6855 |
   333							     BTUSB_WIDEBAND_SPEECH },
   334		{ USB_DEVICE(0x10ab, 0x9f09), .driver_info = BTUSB_QCA_WCN6855 |
   335							     BTUSB_WIDEBAND_SPEECH },
   336		{ USB_DEVICE(0x04ca, 0x3022), .driver_info = BTUSB_QCA_WCN6855 |
   337							     BTUSB_WIDEBAND_SPEECH },
   338		{ USB_DEVICE(0x0489, 0xe0c7), .driver_info = BTUSB_QCA_WCN6855 |
   339							     BTUSB_WIDEBAND_SPEECH },
   340		{ USB_DEVICE(0x0489, 0xe0c9), .driver_info = BTUSB_QCA_WCN6855 |
   341							     BTUSB_WIDEBAND_SPEECH },
   342		{ USB_DEVICE(0x0489, 0xe0ca), .driver_info = BTUSB_QCA_WCN6855 |
   343							     BTUSB_WIDEBAND_SPEECH },
   344		{ USB_DEVICE(0x0489, 0xe0cb), .driver_info = BTUSB_QCA_WCN6855 |
   345							     BTUSB_WIDEBAND_SPEECH },
   346		{ USB_DEVICE(0x0489, 0xe0ce), .driver_info = BTUSB_QCA_WCN6855 |
   347							     BTUSB_WIDEBAND_SPEECH },
   348		{ USB_DEVICE(0x0489, 0xe0de), .driver_info = BTUSB_QCA_WCN6855 |
   349							     BTUSB_WIDEBAND_SPEECH },
   350		{ USB_DEVICE(0x0489, 0xe0df), .driver_info = BTUSB_QCA_WCN6855 |
   351							     BTUSB_WIDEBAND_SPEECH },
   352		{ USB_DEVICE(0x0489, 0xe0e1), .driver_info = BTUSB_QCA_WCN6855 |
   353							     BTUSB_WIDEBAND_SPEECH },
   354		{ USB_DEVICE(0x0489, 0xe0ea), .driver_info = BTUSB_QCA_WCN6855 |
   355							     BTUSB_WIDEBAND_SPEECH },
   356		{ USB_DEVICE(0x0489, 0xe0ec), .driver_info = BTUSB_QCA_WCN6855 |
   357							     BTUSB_WIDEBAND_SPEECH },
   358		{ USB_DEVICE(0x04ca, 0x3023), .driver_info = BTUSB_QCA_WCN6855 |
   359							     BTUSB_WIDEBAND_SPEECH },
   360		{ USB_DEVICE(0x04ca, 0x3024), .driver_info = BTUSB_QCA_WCN6855 |
   361							     BTUSB_WIDEBAND_SPEECH },
   362		{ USB_DEVICE(0x04ca, 0x3a22), .driver_info = BTUSB_QCA_WCN6855 |
   363							     BTUSB_WIDEBAND_SPEECH },
   364		{ USB_DEVICE(0x04ca, 0x3a24), .driver_info = BTUSB_QCA_WCN6855 |
   365							     BTUSB_WIDEBAND_SPEECH },
   366		{ USB_DEVICE(0x04ca, 0x3a26), .driver_info = BTUSB_QCA_WCN6855 |
   367							     BTUSB_WIDEBAND_SPEECH },
   368		{ USB_DEVICE(0x04ca, 0x3a27), .driver_info = BTUSB_QCA_WCN6855 |
   369							     BTUSB_WIDEBAND_SPEECH },
   370	
   371		/* QCA WCN785x chipset */
   372		{ USB_DEVICE(0x0cf3, 0xe700), .driver_info = BTUSB_QCA_WCN6855 |
   373							     BTUSB_WIDEBAND_SPEECH },
   374	
   375		/* Broadcom BCM2035 */
   376		{ USB_DEVICE(0x0a5c, 0x2009), .driver_info = BTUSB_BCM92035 },
   377		{ USB_DEVICE(0x0a5c, 0x200a), .driver_info = BTUSB_WRONG_SCO_MTU },
   378		{ USB_DEVICE(0x0a5c, 0x2035), .driver_info = BTUSB_WRONG_SCO_MTU },
   379	
   380		/* Broadcom BCM2045 */
   381		{ USB_DEVICE(0x0a5c, 0x2039), .driver_info = BTUSB_WRONG_SCO_MTU },
   382		{ USB_DEVICE(0x0a5c, 0x2101), .driver_info = BTUSB_WRONG_SCO_MTU },
   383	
   384		/* IBM/Lenovo ThinkPad with Broadcom chip */
   385		{ USB_DEVICE(0x0a5c, 0x201e), .driver_info = BTUSB_WRONG_SCO_MTU },
   386		{ USB_DEVICE(0x0a5c, 0x2110), .driver_info = BTUSB_WRONG_SCO_MTU },
   387	
   388		/* HP laptop with Broadcom chip */
   389		{ USB_DEVICE(0x03f0, 0x171d), .driver_info = BTUSB_WRONG_SCO_MTU },
   390	
   391		/* Dell laptop with Broadcom chip */
   392		{ USB_DEVICE(0x413c, 0x8126), .driver_info = BTUSB_WRONG_SCO_MTU },
   393	
   394		/* Dell Wireless 370 and 410 devices */
   395		{ USB_DEVICE(0x413c, 0x8152), .driver_info = BTUSB_WRONG_SCO_MTU },
   396		{ USB_DEVICE(0x413c, 0x8156), .driver_info = BTUSB_WRONG_SCO_MTU },
   397	
   398		/* Belkin F8T012 and F8T013 devices */
   399		{ USB_DEVICE(0x050d, 0x0012), .driver_info = BTUSB_WRONG_SCO_MTU },
   400		{ USB_DEVICE(0x050d, 0x0013), .driver_info = BTUSB_WRONG_SCO_MTU },
   401	
   402		/* Asus WL-BTD202 device */
   403		{ USB_DEVICE(0x0b05, 0x1715), .driver_info = BTUSB_WRONG_SCO_MTU },
   404	
   405		/* Kensington Bluetooth USB adapter */
   406		{ USB_DEVICE(0x047d, 0x105e), .driver_info = BTUSB_WRONG_SCO_MTU },
   407	
   408		/* RTX Telecom based adapters with buggy SCO support */
   409		{ USB_DEVICE(0x0400, 0x0807), .driver_info = BTUSB_BROKEN_ISOC },
   410		{ USB_DEVICE(0x0400, 0x080a), .driver_info = BTUSB_BROKEN_ISOC },
   411	
   412		/* CONWISE Technology based adapters with buggy SCO support */
   413		{ USB_DEVICE(0x0e5e, 0x6622),
   414		  .driver_info = BTUSB_BROKEN_ISOC | BTUSB_CW6622},
   415	
   416		/* Roper Class 1 Bluetooth Dongle (Silicon Wave based) */
   417		{ USB_DEVICE(0x1310, 0x0001), .driver_info = BTUSB_SWAVE },
   418	
   419		/* Digianswer devices */
   420		{ USB_DEVICE(0x08fd, 0x0001), .driver_info = BTUSB_DIGIANSWER },
   421		{ USB_DEVICE(0x08fd, 0x0002), .driver_info = BTUSB_IGNORE },
   422	
   423		/* CSR BlueCore Bluetooth Sniffer */
   424		{ USB_DEVICE(0x0a12, 0x0002),
   425		  .driver_info = BTUSB_SNIFFER | BTUSB_BROKEN_ISOC },
   426	
   427		/* Frontline ComProbe Bluetooth Sniffer */
   428		{ USB_DEVICE(0x16d3, 0x0002),
   429		  .driver_info = BTUSB_SNIFFER | BTUSB_BROKEN_ISOC },
   430	
   431		/* Marvell Bluetooth devices */
   432		{ USB_DEVICE(0x1286, 0x2044), .driver_info = BTUSB_MARVELL },
   433		{ USB_DEVICE(0x1286, 0x2046), .driver_info = BTUSB_MARVELL },
   434		{ USB_DEVICE(0x1286, 0x204e), .driver_info = BTUSB_MARVELL },
   435	
   436		/* Intel Bluetooth devices */
   437		{ USB_DEVICE(0x8087, 0x0025), .driver_info = BTUSB_INTEL_COMBINED },
   438		{ USB_DEVICE(0x8087, 0x0026), .driver_info = BTUSB_INTEL_COMBINED },
   439		{ USB_DEVICE(0x8087, 0x0029), .driver_info = BTUSB_INTEL_COMBINED },
   440		{ USB_DEVICE(0x8087, 0x0032), .driver_info = BTUSB_INTEL_COMBINED },
   441		{ USB_DEVICE(0x8087, 0x0033), .driver_info = BTUSB_INTEL_COMBINED },
   442		{ USB_DEVICE(0x8087, 0x0035), .driver_info = BTUSB_INTEL_COMBINED },
   443		{ USB_DEVICE(0x8087, 0x0036), .driver_info = BTUSB_INTEL_COMBINED },
   444		{ USB_DEVICE(0x8087, 0x0037), .driver_info = BTUSB_INTEL_COMBINED },
   445		{ USB_DEVICE(0x8087, 0x0038), .driver_info = BTUSB_INTEL_COMBINED },
   446		{ USB_DEVICE(0x8087, 0x0039), .driver_info = BTUSB_INTEL_COMBINED },
   447		{ USB_DEVICE(0x8087, 0x07da), .driver_info = BTUSB_CSR },
   448		{ USB_DEVICE(0x8087, 0x07dc), .driver_info = BTUSB_INTEL_COMBINED |
   449							     BTUSB_INTEL_NO_WBS_SUPPORT |
   450							     BTUSB_INTEL_BROKEN_INITIAL_NCMD |
   451							     BTUSB_INTEL_BROKEN_SHUTDOWN_LED },
   452		{ USB_DEVICE(0x8087, 0x0a2a), .driver_info = BTUSB_INTEL_COMBINED |
   453							     BTUSB_INTEL_NO_WBS_SUPPORT |
   454							     BTUSB_INTEL_BROKEN_SHUTDOWN_LED },
   455		{ USB_DEVICE(0x8087, 0x0a2b), .driver_info = BTUSB_INTEL_COMBINED },
   456		{ USB_DEVICE(0x8087, 0x0aa7), .driver_info = BTUSB_INTEL_COMBINED |
   457							     BTUSB_INTEL_BROKEN_SHUTDOWN_LED },
   458		{ USB_DEVICE(0x8087, 0x0aaa), .driver_info = BTUSB_INTEL_COMBINED },
   459	
   460		/* Other Intel Bluetooth devices */
   461		{ USB_VENDOR_AND_INTERFACE_INFO(0x8087, 0xe0, 0x01, 0x01),
   462		  .driver_info = BTUSB_IGNORE },
   463	
   464		/* Realtek 8821CE Bluetooth devices */
   465		{ USB_DEVICE(0x13d3, 0x3529), .driver_info = BTUSB_REALTEK |
   466							     BTUSB_WIDEBAND_SPEECH },
   467	
   468		/* Realtek 8822CE Bluetooth devices */
   469		{ USB_DEVICE(0x0bda, 0xb00c), .driver_info = BTUSB_REALTEK |
   470							     BTUSB_WIDEBAND_SPEECH },
   471		{ USB_DEVICE(0x0bda, 0xc822), .driver_info = BTUSB_REALTEK |
   472							     BTUSB_WIDEBAND_SPEECH },
   473	
   474		/* Realtek 8822CU Bluetooth devices */
   475		{ USB_DEVICE(0x13d3, 0x3549), .driver_info = BTUSB_REALTEK |
   476							     BTUSB_WIDEBAND_SPEECH },
   477	
   478		/* Realtek 8852AE Bluetooth devices */
   479		{ USB_DEVICE(0x0bda, 0x2852), .driver_info = BTUSB_REALTEK |
   480							     BTUSB_WIDEBAND_SPEECH },
   481		{ USB_DEVICE(0x0bda, 0xc852), .driver_info = BTUSB_REALTEK |
   482							     BTUSB_WIDEBAND_SPEECH },
   483		{ USB_DEVICE(0x0bda, 0x385a), .driver_info = BTUSB_REALTEK |
   484							     BTUSB_WIDEBAND_SPEECH },
   485		{ USB_DEVICE(0x0bda, 0x4852), .driver_info = BTUSB_REALTEK |
   486							     BTUSB_WIDEBAND_SPEECH },
   487		{ USB_DEVICE(0x04c5, 0x165c), .driver_info = BTUSB_REALTEK |
   488							     BTUSB_WIDEBAND_SPEECH },
   489		{ USB_DEVICE(0x04ca, 0x4006), .driver_info = BTUSB_REALTEK |
   490							     BTUSB_WIDEBAND_SPEECH },
   491		{ USB_DEVICE(0x0cb8, 0xc549), .driver_info = BTUSB_REALTEK |
   492							     BTUSB_WIDEBAND_SPEECH },
   493	
   494		/* Realtek 8852CE Bluetooth devices */
   495		{ USB_DEVICE(0x04ca, 0x4007), .driver_info = BTUSB_REALTEK |
   496							     BTUSB_WIDEBAND_SPEECH },
   497		{ USB_DEVICE(0x04c5, 0x1675), .driver_info = BTUSB_REALTEK |
   498							     BTUSB_WIDEBAND_SPEECH },
   499		{ USB_DEVICE(0x0cb8, 0xc558), .driver_info = BTUSB_REALTEK |
   500							     BTUSB_WIDEBAND_SPEECH },
   501		{ USB_DEVICE(0x13d3, 0x3587), .driver_info = BTUSB_REALTEK |
   502							     BTUSB_WIDEBAND_SPEECH },
   503		{ USB_DEVICE(0x13d3, 0x3586), .driver_info = BTUSB_REALTEK |
   504							     BTUSB_WIDEBAND_SPEECH },
   505		{ USB_DEVICE(0x13d3, 0x3592), .driver_info = BTUSB_REALTEK |
   506							     BTUSB_WIDEBAND_SPEECH },
   507		{ USB_DEVICE(0x0489, 0xe122), .driver_info = BTUSB_REALTEK |
   508							     BTUSB_WIDEBAND_SPEECH },
   509	
   510		/* Realtek 8852BE Bluetooth devices */
   511		{ USB_DEVICE(0x0cb8, 0xc559), .driver_info = BTUSB_REALTEK |
   512							     BTUSB_WIDEBAND_SPEECH },
   513		{ USB_DEVICE(0x0bda, 0x4853), .driver_info = BTUSB_REALTEK |
   514							     BTUSB_WIDEBAND_SPEECH },
   515		{ USB_DEVICE(0x0bda, 0x887b), .driver_info = BTUSB_REALTEK |
   516							     BTUSB_WIDEBAND_SPEECH },
   517		{ USB_DEVICE(0x0bda, 0xb85b), .driver_info = BTUSB_REALTEK |
   518							     BTUSB_WIDEBAND_SPEECH },
   519		{ USB_DEVICE(0x13d3, 0x3570), .driver_info = BTUSB_REALTEK |
   520							     BTUSB_WIDEBAND_SPEECH },
   521		{ USB_DEVICE(0x13d3, 0x3571), .driver_info = BTUSB_REALTEK |
   522							     BTUSB_WIDEBAND_SPEECH },
   523		{ USB_DEVICE(0x13d3, 0x3572), .driver_info = BTUSB_REALTEK |
   524							     BTUSB_WIDEBAND_SPEECH },
   525		{ USB_DEVICE(0x13d3, 0x3591), .driver_info = BTUSB_REALTEK |
   526							     BTUSB_WIDEBAND_SPEECH },
   527		{ USB_DEVICE(0x0489, 0xe125), .driver_info = BTUSB_REALTEK |
   528							     BTUSB_WIDEBAND_SPEECH },
   529	
   530		/* Realtek 8852BT/8852BE-VT Bluetooth devices */
   531		{ USB_DEVICE(0x0bda, 0x8520), .driver_info = BTUSB_REALTEK |
   532							     BTUSB_WIDEBAND_SPEECH },
   533	
   534		/* Realtek 8922AE Bluetooth devices */
   535		{ USB_DEVICE(0x0bda, 0x8922), .driver_info = BTUSB_REALTEK |
   536							     BTUSB_WIDEBAND_SPEECH },
   537		{ USB_DEVICE(0x13d3, 0x3617), .driver_info = BTUSB_REALTEK |
   538							     BTUSB_WIDEBAND_SPEECH },
   539		{ USB_DEVICE(0x13d3, 0x3616), .driver_info = BTUSB_REALTEK |
   540							     BTUSB_WIDEBAND_SPEECH },
   541		{ USB_DEVICE(0x0489, 0xe130), .driver_info = BTUSB_REALTEK |
   542							     BTUSB_WIDEBAND_SPEECH },
   543	
   544		/* Realtek Bluetooth devices */
   545		{ USB_VENDOR_AND_INTERFACE_INFO(0x0bda, 0xe0, 0x01, 0x01),
   546		  .driver_info = BTUSB_REALTEK },
   547	
   548		/* MediaTek Bluetooth devices */
   549		{ USB_VENDOR_AND_INTERFACE_INFO(0x0e8d, 0xe0, 0x01, 0x01),
   550		  .driver_info = BTUSB_MEDIATEK |
   551				 BTUSB_WIDEBAND_SPEECH },
   552	
   553		/* Additional MediaTek MT7615E Bluetooth devices */
   554		{ USB_DEVICE(0x13d3, 0x3560), .driver_info = BTUSB_MEDIATEK},
   555	
   556		/* Additional MediaTek MT7663 Bluetooth devices */
   557		{ USB_DEVICE(0x043e, 0x310c), .driver_info = BTUSB_MEDIATEK |
   558							     BTUSB_WIDEBAND_SPEECH },
   559		{ USB_DEVICE(0x04ca, 0x3801), .driver_info = BTUSB_MEDIATEK |
   560							     BTUSB_WIDEBAND_SPEECH },
   561	
   562		/* Additional MediaTek MT7668 Bluetooth devices */
   563		{ USB_DEVICE(0x043e, 0x3109), .driver_info = BTUSB_MEDIATEK |
   564							     BTUSB_WIDEBAND_SPEECH },
   565	
   566		/* Additional MediaTek MT7921 Bluetooth devices */
   567		{ USB_DEVICE(0x0489, 0xe0c8), .driver_info = BTUSB_MEDIATEK |
   568							     BTUSB_WIDEBAND_SPEECH },
   569		{ USB_DEVICE(0x0489, 0xe0cd), .driver_info = BTUSB_MEDIATEK |
   570							     BTUSB_WIDEBAND_SPEECH },
   571		{ USB_DEVICE(0x0489, 0xe0e0), .driver_info = BTUSB_MEDIATEK |
   572							     BTUSB_WIDEBAND_SPEECH },
   573		{ USB_DEVICE(0x0489, 0xe0f2), .driver_info = BTUSB_MEDIATEK |
   574							     BTUSB_WIDEBAND_SPEECH },
   575		{ USB_DEVICE(0x04ca, 0x3802), .driver_info = BTUSB_MEDIATEK |
   576							     BTUSB_WIDEBAND_SPEECH },
   577		{ USB_DEVICE(0x0e8d, 0x0608), .driver_info = BTUSB_MEDIATEK |
   578							     BTUSB_WIDEBAND_SPEECH },
   579		{ USB_DEVICE(0x13d3, 0x3563), .driver_info = BTUSB_MEDIATEK |
   580							     BTUSB_WIDEBAND_SPEECH },
   581		{ USB_DEVICE(0x13d3, 0x3564), .driver_info = BTUSB_MEDIATEK |
   582							     BTUSB_WIDEBAND_SPEECH },
   583		{ USB_DEVICE(0x13d3, 0x3567), .driver_info = BTUSB_MEDIATEK |
   584							     BTUSB_WIDEBAND_SPEECH },
   585		{ USB_DEVICE(0x13d3, 0x3578), .driver_info = BTUSB_MEDIATEK |
   586							     BTUSB_WIDEBAND_SPEECH },
   587		{ USB_DEVICE(0x13d3, 0x3583), .driver_info = BTUSB_MEDIATEK |
   588							     BTUSB_WIDEBAND_SPEECH },
   589		{ USB_DEVICE(0x13d3, 0x3606), .driver_info = BTUSB_MEDIATEK |
   590							     BTUSB_WIDEBAND_SPEECH },
   591	
   592		/* MediaTek MT7922 Bluetooth devices */
   593		{ USB_DEVICE(0x13d3, 0x3585), .driver_info = BTUSB_MEDIATEK |
   594							     BTUSB_WIDEBAND_SPEECH },
   595	
   596		/* MediaTek MT7922A Bluetooth devices */
   597		{ USB_DEVICE(0x0489, 0xe0d8), .driver_info = BTUSB_MEDIATEK |
   598							     BTUSB_WIDEBAND_SPEECH },
   599		{ USB_DEVICE(0x0489, 0xe0d9), .driver_info = BTUSB_MEDIATEK |
   600							     BTUSB_WIDEBAND_SPEECH },
   601		{ USB_DEVICE(0x0489, 0xe0e2), .driver_info = BTUSB_MEDIATEK |
   602							     BTUSB_WIDEBAND_SPEECH },
   603		{ USB_DEVICE(0x0489, 0xe0e4), .driver_info = BTUSB_MEDIATEK |
   604							     BTUSB_WIDEBAND_SPEECH },
   605		{ USB_DEVICE(0x0489, 0xe0f1), .driver_info = BTUSB_MEDIATEK |
   606							     BTUSB_WIDEBAND_SPEECH },
   607		{ USB_DEVICE(0x0489, 0xe0f2), .driver_info = BTUSB_MEDIATEK |
   608							     BTUSB_WIDEBAND_SPEECH },
   609		{ USB_DEVICE(0x0489, 0xe0f5), .driver_info = BTUSB_MEDIATEK |
   610							     BTUSB_WIDEBAND_SPEECH },
   611		{ USB_DEVICE(0x0489, 0xe0f6), .driver_info = BTUSB_MEDIATEK |
   612							     BTUSB_WIDEBAND_SPEECH },
   613		{ USB_DEVICE(0x0489, 0xe102), .driver_info = BTUSB_MEDIATEK |
   614							     BTUSB_WIDEBAND_SPEECH },
   615		{ USB_DEVICE(0x04ca, 0x3804), .driver_info = BTUSB_MEDIATEK |
   616							     BTUSB_WIDEBAND_SPEECH },
   617		{ USB_DEVICE(0x04ca, 0x38e4), .driver_info = BTUSB_MEDIATEK |
   618							     BTUSB_WIDEBAND_SPEECH },
   619		{ USB_DEVICE(0x13d3, 0x3568), .driver_info = BTUSB_MEDIATEK |
   620							     BTUSB_WIDEBAND_SPEECH },
   621		{ USB_DEVICE(0x13d3, 0x3605), .driver_info = BTUSB_MEDIATEK |
   622							     BTUSB_WIDEBAND_SPEECH },
   623		{ USB_DEVICE(0x13d3, 0x3607), .driver_info = BTUSB_MEDIATEK |
   624							     BTUSB_WIDEBAND_SPEECH },
   625		{ USB_DEVICE(0x13d3, 0x3614), .driver_info = BTUSB_MEDIATEK |
   626							     BTUSB_WIDEBAND_SPEECH },
   627		{ USB_DEVICE(0x13d3, 0x3615), .driver_info = BTUSB_MEDIATEK |
   628							     BTUSB_WIDEBAND_SPEECH },
   629		{ USB_DEVICE(0x35f5, 0x7922), .driver_info = BTUSB_MEDIATEK |
   630							     BTUSB_WIDEBAND_SPEECH },
   631	
   632		/* Additional MediaTek MT7925 Bluetooth devices */
   633		{ USB_DEVICE(0x0489, 0xe113), .driver_info = BTUSB_MEDIATEK |
   634							     BTUSB_WIDEBAND_SPEECH },
   635		{ USB_DEVICE(0x0489, 0xe118), .driver_info = BTUSB_MEDIATEK |
   636							     BTUSB_WIDEBAND_SPEECH },
   637		{ USB_DEVICE(0x0489, 0xe11e), .driver_info = BTUSB_MEDIATEK |
   638							     BTUSB_WIDEBAND_SPEECH },
   639		{ USB_DEVICE(0x13d3, 0x3602), .driver_info = BTUSB_MEDIATEK |
   640							     BTUSB_WIDEBAND_SPEECH },
   641		{ USB_DEVICE(0x13d3, 0x3603), .driver_info = BTUSB_MEDIATEK |
   642							     BTUSB_WIDEBAND_SPEECH },
   643		{ USB_DEVICE(0x13d3, 0x3604), .driver_info = BTUSB_MEDIATEK |
   644							     BTUSB_WIDEBAND_SPEECH },
   645		{ USB_DEVICE(0x13d3, 0x3608), .driver_info = BTUSB_MEDIATEK |
   646							     BTUSB_WIDEBAND_SPEECH },
   647	
   648		/* MediaTek MT7925 Bluetooth devices */
   649		{ USB_DEVICE(0x13d3, 0x3608), .driver_info = BTUSB_MEDIATEK |
   650							     BTUSB_WIDEBAND_SPEECH |
 > 651							     BTUSB_VALID_LE_STATES },
   652	
   653		/* Additional Realtek 8723AE Bluetooth devices */
   654		{ USB_DEVICE(0x0930, 0x021d), .driver_info = BTUSB_REALTEK },
   655		{ USB_DEVICE(0x13d3, 0x3394), .driver_info = BTUSB_REALTEK },
   656	
   657		/* Additional Realtek 8723BE Bluetooth devices */
   658		{ USB_DEVICE(0x0489, 0xe085), .driver_info = BTUSB_REALTEK },
   659		{ USB_DEVICE(0x0489, 0xe08b), .driver_info = BTUSB_REALTEK },
   660		{ USB_DEVICE(0x04f2, 0xb49f), .driver_info = BTUSB_REALTEK },
   661		{ USB_DEVICE(0x13d3, 0x3410), .driver_info = BTUSB_REALTEK },
   662		{ USB_DEVICE(0x13d3, 0x3416), .driver_info = BTUSB_REALTEK },
   663		{ USB_DEVICE(0x13d3, 0x3459), .driver_info = BTUSB_REALTEK },
   664		{ USB_DEVICE(0x13d3, 0x3494), .driver_info = BTUSB_REALTEK },
   665	
   666		/* Additional Realtek 8723BU Bluetooth devices */
   667		{ USB_DEVICE(0x7392, 0xa611), .driver_info = BTUSB_REALTEK },
   668	
   669		/* Additional Realtek 8723DE Bluetooth devices */
   670		{ USB_DEVICE(0x0bda, 0xb009), .driver_info = BTUSB_REALTEK },
   671		{ USB_DEVICE(0x2ff8, 0xb011), .driver_info = BTUSB_REALTEK },
   672	
   673		/* Additional Realtek 8761BUV Bluetooth devices */
   674		{ USB_DEVICE(0x2357, 0x0604), .driver_info = BTUSB_REALTEK |
   675							     BTUSB_WIDEBAND_SPEECH },
   676		{ USB_DEVICE(0x0b05, 0x190e), .driver_info = BTUSB_REALTEK |
   677		  					     BTUSB_WIDEBAND_SPEECH },
   678		{ USB_DEVICE(0x2550, 0x8761), .driver_info = BTUSB_REALTEK |
   679							     BTUSB_WIDEBAND_SPEECH },
   680		{ USB_DEVICE(0x0bda, 0x8771), .driver_info = BTUSB_REALTEK |
   681							     BTUSB_WIDEBAND_SPEECH },
   682		{ USB_DEVICE(0x6655, 0x8771), .driver_info = BTUSB_REALTEK |
   683							     BTUSB_WIDEBAND_SPEECH },
   684		{ USB_DEVICE(0x7392, 0xc611), .driver_info = BTUSB_REALTEK |
   685							     BTUSB_WIDEBAND_SPEECH },
   686		{ USB_DEVICE(0x2b89, 0x8761), .driver_info = BTUSB_REALTEK |
   687							     BTUSB_WIDEBAND_SPEECH },
   688	
   689		/* Additional Realtek 8821AE Bluetooth devices */
   690		{ USB_DEVICE(0x0b05, 0x17dc), .driver_info = BTUSB_REALTEK },
   691		{ USB_DEVICE(0x13d3, 0x3414), .driver_info = BTUSB_REALTEK },
   692		{ USB_DEVICE(0x13d3, 0x3458), .driver_info = BTUSB_REALTEK },
   693		{ USB_DEVICE(0x13d3, 0x3461), .driver_info = BTUSB_REALTEK },
   694		{ USB_DEVICE(0x13d3, 0x3462), .driver_info = BTUSB_REALTEK },
   695	
   696		/* Additional Realtek 8822BE Bluetooth devices */
   697		{ USB_DEVICE(0x13d3, 0x3526), .driver_info = BTUSB_REALTEK },
   698		{ USB_DEVICE(0x0b05, 0x185c), .driver_info = BTUSB_REALTEK },
   699	
   700		/* Additional Realtek 8822CE Bluetooth devices */
   701		{ USB_DEVICE(0x04ca, 0x4005), .driver_info = BTUSB_REALTEK |
   702							     BTUSB_WIDEBAND_SPEECH },
   703		{ USB_DEVICE(0x04c5, 0x161f), .driver_info = BTUSB_REALTEK |
   704							     BTUSB_WIDEBAND_SPEECH },
   705		{ USB_DEVICE(0x0b05, 0x18ef), .driver_info = BTUSB_REALTEK |
   706							     BTUSB_WIDEBAND_SPEECH },
   707		{ USB_DEVICE(0x13d3, 0x3548), .driver_info = BTUSB_REALTEK |
   708							     BTUSB_WIDEBAND_SPEECH },
   709		{ USB_DEVICE(0x13d3, 0x3549), .driver_info = BTUSB_REALTEK |
   710							     BTUSB_WIDEBAND_SPEECH },
   711		{ USB_DEVICE(0x13d3, 0x3553), .driver_info = BTUSB_REALTEK |
   712							     BTUSB_WIDEBAND_SPEECH },
   713		{ USB_DEVICE(0x13d3, 0x3555), .driver_info = BTUSB_REALTEK |
   714							     BTUSB_WIDEBAND_SPEECH },
   715		{ USB_DEVICE(0x2ff8, 0x3051), .driver_info = BTUSB_REALTEK |
   716							     BTUSB_WIDEBAND_SPEECH },
   717		{ USB_DEVICE(0x1358, 0xc123), .driver_info = BTUSB_REALTEK |
   718							     BTUSB_WIDEBAND_SPEECH },
   719		{ USB_DEVICE(0x0bda, 0xc123), .driver_info = BTUSB_REALTEK |
   720							     BTUSB_WIDEBAND_SPEECH },
   721		{ USB_DEVICE(0x0cb5, 0xc547), .driver_info = BTUSB_REALTEK |
   722							     BTUSB_WIDEBAND_SPEECH },
   723	
   724		/* Actions Semiconductor ATS2851 based devices */
   725		{ USB_DEVICE(0x10d7, 0xb012), .driver_info = BTUSB_ACTIONS_SEMI },
   726	
   727		/* Silicon Wave based devices */
   728		{ USB_DEVICE(0x0c10, 0x0000), .driver_info = BTUSB_SWAVE },
   729	
   730		{ }	/* Terminating entry */
   731	};
   732
kernel test robot Nov. 8, 2024, 4:54 p.m. UTC | #3
Hi WangYuli,

kernel test robot noticed the following build errors:

[auto build test ERROR on bluetooth/master]
[also build test ERROR on bluetooth-next/master linus/master v6.12-rc6 next-20241108]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/WangYuli/Bluetooth-btusb-Add-MT7925-support-for-ID-0x13d3-0x3608/20241108-162754
base:   https://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth.git master
patch link:    https://lore.kernel.org/r/D3E1285F7DBFAB3E%2B20241108082418.187499-1-wangyuli%40uniontech.com
patch subject: [PATCH v3] Bluetooth: btusb: Add MT7925 support for ID 0x13d3:0x3608
config: x86_64-buildonly-randconfig-001-20241108 (https://download.01.org/0day-ci/archive/20241109/202411090012.ZFED5Eyp-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241109/202411090012.ZFED5Eyp-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202411090012.ZFED5Eyp-lkp@intel.com/

All errors (new ones prefixed by >>):

>> drivers/bluetooth/btusb.c:651:54: error: 'BTUSB_VALID_LE_STATES' undeclared here (not in a function); did you mean 'BTUSB_INVALID_LE_STATES'?
     651 |                                                      BTUSB_VALID_LE_STATES },
         |                                                      ^~~~~~~~~~~~~~~~~~~~~
         |                                                      BTUSB_INVALID_LE_STATES


vim +651 drivers/bluetooth/btusb.c

   177	
   178	static const struct usb_device_id quirks_table[] = {
   179		/* CSR BlueCore devices */
   180		{ USB_DEVICE(0x0a12, 0x0001), .driver_info = BTUSB_CSR },
   181	
   182		/* Broadcom BCM2033 without firmware */
   183		{ USB_DEVICE(0x0a5c, 0x2033), .driver_info = BTUSB_IGNORE },
   184	
   185		/* Broadcom BCM2045 devices */
   186		{ USB_DEVICE(0x0a5c, 0x2045), .driver_info = BTUSB_BCM2045 },
   187	
   188		/* Atheros 3011 with sflash firmware */
   189		{ USB_DEVICE(0x0489, 0xe027), .driver_info = BTUSB_IGNORE },
   190		{ USB_DEVICE(0x0489, 0xe03d), .driver_info = BTUSB_IGNORE },
   191		{ USB_DEVICE(0x04f2, 0xaff1), .driver_info = BTUSB_IGNORE },
   192		{ USB_DEVICE(0x0930, 0x0215), .driver_info = BTUSB_IGNORE },
   193		{ USB_DEVICE(0x0cf3, 0x3002), .driver_info = BTUSB_IGNORE },
   194		{ USB_DEVICE(0x0cf3, 0xe019), .driver_info = BTUSB_IGNORE },
   195		{ USB_DEVICE(0x13d3, 0x3304), .driver_info = BTUSB_IGNORE },
   196	
   197		/* Atheros AR9285 Malbec with sflash firmware */
   198		{ USB_DEVICE(0x03f0, 0x311d), .driver_info = BTUSB_IGNORE },
   199	
   200		/* Atheros 3012 with sflash firmware */
   201		{ USB_DEVICE(0x0489, 0xe04d), .driver_info = BTUSB_ATH3012 },
   202		{ USB_DEVICE(0x0489, 0xe04e), .driver_info = BTUSB_ATH3012 },
   203		{ USB_DEVICE(0x0489, 0xe056), .driver_info = BTUSB_ATH3012 },
   204		{ USB_DEVICE(0x0489, 0xe057), .driver_info = BTUSB_ATH3012 },
   205		{ USB_DEVICE(0x0489, 0xe05f), .driver_info = BTUSB_ATH3012 },
   206		{ USB_DEVICE(0x0489, 0xe076), .driver_info = BTUSB_ATH3012 },
   207		{ USB_DEVICE(0x0489, 0xe078), .driver_info = BTUSB_ATH3012 },
   208		{ USB_DEVICE(0x0489, 0xe095), .driver_info = BTUSB_ATH3012 },
   209		{ USB_DEVICE(0x04c5, 0x1330), .driver_info = BTUSB_ATH3012 },
   210		{ USB_DEVICE(0x04ca, 0x3004), .driver_info = BTUSB_ATH3012 },
   211		{ USB_DEVICE(0x04ca, 0x3005), .driver_info = BTUSB_ATH3012 },
   212		{ USB_DEVICE(0x04ca, 0x3006), .driver_info = BTUSB_ATH3012 },
   213		{ USB_DEVICE(0x04ca, 0x3007), .driver_info = BTUSB_ATH3012 },
   214		{ USB_DEVICE(0x04ca, 0x3008), .driver_info = BTUSB_ATH3012 },
   215		{ USB_DEVICE(0x04ca, 0x300b), .driver_info = BTUSB_ATH3012 },
   216		{ USB_DEVICE(0x04ca, 0x300d), .driver_info = BTUSB_ATH3012 },
   217		{ USB_DEVICE(0x04ca, 0x300f), .driver_info = BTUSB_ATH3012 },
   218		{ USB_DEVICE(0x04ca, 0x3010), .driver_info = BTUSB_ATH3012 },
   219		{ USB_DEVICE(0x04ca, 0x3014), .driver_info = BTUSB_ATH3012 },
   220		{ USB_DEVICE(0x04ca, 0x3018), .driver_info = BTUSB_ATH3012 },
   221		{ USB_DEVICE(0x0930, 0x0219), .driver_info = BTUSB_ATH3012 },
   222		{ USB_DEVICE(0x0930, 0x021c), .driver_info = BTUSB_ATH3012 },
   223		{ USB_DEVICE(0x0930, 0x0220), .driver_info = BTUSB_ATH3012 },
   224		{ USB_DEVICE(0x0930, 0x0227), .driver_info = BTUSB_ATH3012 },
   225		{ USB_DEVICE(0x0b05, 0x17d0), .driver_info = BTUSB_ATH3012 },
   226		{ USB_DEVICE(0x0cf3, 0x0036), .driver_info = BTUSB_ATH3012 },
   227		{ USB_DEVICE(0x0cf3, 0x3004), .driver_info = BTUSB_ATH3012 },
   228		{ USB_DEVICE(0x0cf3, 0x3008), .driver_info = BTUSB_ATH3012 },
   229		{ USB_DEVICE(0x0cf3, 0x311d), .driver_info = BTUSB_ATH3012 },
   230		{ USB_DEVICE(0x0cf3, 0x311e), .driver_info = BTUSB_ATH3012 },
   231		{ USB_DEVICE(0x0cf3, 0x311f), .driver_info = BTUSB_ATH3012 },
   232		{ USB_DEVICE(0x0cf3, 0x3121), .driver_info = BTUSB_ATH3012 },
   233		{ USB_DEVICE(0x0cf3, 0x817a), .driver_info = BTUSB_ATH3012 },
   234		{ USB_DEVICE(0x0cf3, 0x817b), .driver_info = BTUSB_ATH3012 },
   235		{ USB_DEVICE(0x0cf3, 0xe003), .driver_info = BTUSB_ATH3012 },
   236		{ USB_DEVICE(0x0cf3, 0xe004), .driver_info = BTUSB_ATH3012 },
   237		{ USB_DEVICE(0x0cf3, 0xe005), .driver_info = BTUSB_ATH3012 },
   238		{ USB_DEVICE(0x0cf3, 0xe006), .driver_info = BTUSB_ATH3012 },
   239		{ USB_DEVICE(0x13d3, 0x3362), .driver_info = BTUSB_ATH3012 },
   240		{ USB_DEVICE(0x13d3, 0x3375), .driver_info = BTUSB_ATH3012 },
   241		{ USB_DEVICE(0x13d3, 0x3393), .driver_info = BTUSB_ATH3012 },
   242		{ USB_DEVICE(0x13d3, 0x3395), .driver_info = BTUSB_ATH3012 },
   243		{ USB_DEVICE(0x13d3, 0x3402), .driver_info = BTUSB_ATH3012 },
   244		{ USB_DEVICE(0x13d3, 0x3408), .driver_info = BTUSB_ATH3012 },
   245		{ USB_DEVICE(0x13d3, 0x3423), .driver_info = BTUSB_ATH3012 },
   246		{ USB_DEVICE(0x13d3, 0x3432), .driver_info = BTUSB_ATH3012 },
   247		{ USB_DEVICE(0x13d3, 0x3472), .driver_info = BTUSB_ATH3012 },
   248		{ USB_DEVICE(0x13d3, 0x3474), .driver_info = BTUSB_ATH3012 },
   249		{ USB_DEVICE(0x13d3, 0x3487), .driver_info = BTUSB_ATH3012 },
   250		{ USB_DEVICE(0x13d3, 0x3490), .driver_info = BTUSB_ATH3012 },
   251	
   252		/* Atheros AR5BBU12 with sflash firmware */
   253		{ USB_DEVICE(0x0489, 0xe02c), .driver_info = BTUSB_IGNORE },
   254	
   255		/* Atheros AR5BBU12 with sflash firmware */
   256		{ USB_DEVICE(0x0489, 0xe036), .driver_info = BTUSB_ATH3012 },
   257		{ USB_DEVICE(0x0489, 0xe03c), .driver_info = BTUSB_ATH3012 },
   258	
   259		/* QCA ROME chipset */
   260		{ USB_DEVICE(0x0cf3, 0x535b), .driver_info = BTUSB_QCA_ROME |
   261							     BTUSB_WIDEBAND_SPEECH },
   262		{ USB_DEVICE(0x0cf3, 0xe007), .driver_info = BTUSB_QCA_ROME |
   263							     BTUSB_WIDEBAND_SPEECH },
   264		{ USB_DEVICE(0x0cf3, 0xe009), .driver_info = BTUSB_QCA_ROME |
   265							     BTUSB_WIDEBAND_SPEECH },
   266		{ USB_DEVICE(0x0cf3, 0xe010), .driver_info = BTUSB_QCA_ROME |
   267							     BTUSB_WIDEBAND_SPEECH },
   268		{ USB_DEVICE(0x0cf3, 0xe300), .driver_info = BTUSB_QCA_ROME |
   269							     BTUSB_WIDEBAND_SPEECH },
   270		{ USB_DEVICE(0x0cf3, 0xe301), .driver_info = BTUSB_QCA_ROME |
   271							     BTUSB_WIDEBAND_SPEECH },
   272		{ USB_DEVICE(0x0cf3, 0xe360), .driver_info = BTUSB_QCA_ROME |
   273							     BTUSB_WIDEBAND_SPEECH },
   274		{ USB_DEVICE(0x0cf3, 0xe500), .driver_info = BTUSB_QCA_ROME |
   275							     BTUSB_WIDEBAND_SPEECH },
   276		{ USB_DEVICE(0x0489, 0xe092), .driver_info = BTUSB_QCA_ROME |
   277							     BTUSB_WIDEBAND_SPEECH },
   278		{ USB_DEVICE(0x0489, 0xe09f), .driver_info = BTUSB_QCA_ROME |
   279							     BTUSB_WIDEBAND_SPEECH },
   280		{ USB_DEVICE(0x0489, 0xe0a2), .driver_info = BTUSB_QCA_ROME |
   281							     BTUSB_WIDEBAND_SPEECH },
   282		{ USB_DEVICE(0x04ca, 0x3011), .driver_info = BTUSB_QCA_ROME |
   283							     BTUSB_WIDEBAND_SPEECH },
   284		{ USB_DEVICE(0x04ca, 0x3015), .driver_info = BTUSB_QCA_ROME |
   285							     BTUSB_WIDEBAND_SPEECH },
   286		{ USB_DEVICE(0x04ca, 0x3016), .driver_info = BTUSB_QCA_ROME |
   287							     BTUSB_WIDEBAND_SPEECH },
   288		{ USB_DEVICE(0x04ca, 0x301a), .driver_info = BTUSB_QCA_ROME |
   289							     BTUSB_WIDEBAND_SPEECH },
   290		{ USB_DEVICE(0x04ca, 0x3021), .driver_info = BTUSB_QCA_ROME |
   291							     BTUSB_WIDEBAND_SPEECH },
   292		{ USB_DEVICE(0x13d3, 0x3491), .driver_info = BTUSB_QCA_ROME |
   293							     BTUSB_WIDEBAND_SPEECH },
   294		{ USB_DEVICE(0x13d3, 0x3496), .driver_info = BTUSB_QCA_ROME |
   295							     BTUSB_WIDEBAND_SPEECH },
   296		{ USB_DEVICE(0x13d3, 0x3501), .driver_info = BTUSB_QCA_ROME |
   297							     BTUSB_WIDEBAND_SPEECH },
   298	
   299		/* QCA WCN6855 chipset */
   300		{ USB_DEVICE(0x0cf3, 0xe600), .driver_info = BTUSB_QCA_WCN6855 |
   301							     BTUSB_WIDEBAND_SPEECH },
   302		{ USB_DEVICE(0x0489, 0xe0cc), .driver_info = BTUSB_QCA_WCN6855 |
   303							     BTUSB_WIDEBAND_SPEECH },
   304		{ USB_DEVICE(0x0489, 0xe0d6), .driver_info = BTUSB_QCA_WCN6855 |
   305							     BTUSB_WIDEBAND_SPEECH },
   306		{ USB_DEVICE(0x0489, 0xe0e3), .driver_info = BTUSB_QCA_WCN6855 |
   307							     BTUSB_WIDEBAND_SPEECH },
   308		{ USB_DEVICE(0x10ab, 0x9309), .driver_info = BTUSB_QCA_WCN6855 |
   309							     BTUSB_WIDEBAND_SPEECH },
   310		{ USB_DEVICE(0x10ab, 0x9409), .driver_info = BTUSB_QCA_WCN6855 |
   311							     BTUSB_WIDEBAND_SPEECH },
   312		{ USB_DEVICE(0x0489, 0xe0d0), .driver_info = BTUSB_QCA_WCN6855 |
   313							     BTUSB_WIDEBAND_SPEECH },
   314		{ USB_DEVICE(0x10ab, 0x9108), .driver_info = BTUSB_QCA_WCN6855 |
   315							     BTUSB_WIDEBAND_SPEECH },
   316		{ USB_DEVICE(0x10ab, 0x9109), .driver_info = BTUSB_QCA_WCN6855 |
   317							     BTUSB_WIDEBAND_SPEECH },
   318		{ USB_DEVICE(0x10ab, 0x9208), .driver_info = BTUSB_QCA_WCN6855 |
   319							     BTUSB_WIDEBAND_SPEECH },
   320		{ USB_DEVICE(0x10ab, 0x9209), .driver_info = BTUSB_QCA_WCN6855 |
   321							     BTUSB_WIDEBAND_SPEECH },
   322		{ USB_DEVICE(0x10ab, 0x9308), .driver_info = BTUSB_QCA_WCN6855 |
   323							     BTUSB_WIDEBAND_SPEECH },
   324		{ USB_DEVICE(0x10ab, 0x9408), .driver_info = BTUSB_QCA_WCN6855 |
   325							     BTUSB_WIDEBAND_SPEECH },
   326		{ USB_DEVICE(0x10ab, 0x9508), .driver_info = BTUSB_QCA_WCN6855 |
   327							     BTUSB_WIDEBAND_SPEECH },
   328		{ USB_DEVICE(0x10ab, 0x9509), .driver_info = BTUSB_QCA_WCN6855 |
   329							     BTUSB_WIDEBAND_SPEECH },
   330		{ USB_DEVICE(0x10ab, 0x9608), .driver_info = BTUSB_QCA_WCN6855 |
   331							     BTUSB_WIDEBAND_SPEECH },
   332		{ USB_DEVICE(0x10ab, 0x9609), .driver_info = BTUSB_QCA_WCN6855 |
   333							     BTUSB_WIDEBAND_SPEECH },
   334		{ USB_DEVICE(0x10ab, 0x9f09), .driver_info = BTUSB_QCA_WCN6855 |
   335							     BTUSB_WIDEBAND_SPEECH },
   336		{ USB_DEVICE(0x04ca, 0x3022), .driver_info = BTUSB_QCA_WCN6855 |
   337							     BTUSB_WIDEBAND_SPEECH },
   338		{ USB_DEVICE(0x0489, 0xe0c7), .driver_info = BTUSB_QCA_WCN6855 |
   339							     BTUSB_WIDEBAND_SPEECH },
   340		{ USB_DEVICE(0x0489, 0xe0c9), .driver_info = BTUSB_QCA_WCN6855 |
   341							     BTUSB_WIDEBAND_SPEECH },
   342		{ USB_DEVICE(0x0489, 0xe0ca), .driver_info = BTUSB_QCA_WCN6855 |
   343							     BTUSB_WIDEBAND_SPEECH },
   344		{ USB_DEVICE(0x0489, 0xe0cb), .driver_info = BTUSB_QCA_WCN6855 |
   345							     BTUSB_WIDEBAND_SPEECH },
   346		{ USB_DEVICE(0x0489, 0xe0ce), .driver_info = BTUSB_QCA_WCN6855 |
   347							     BTUSB_WIDEBAND_SPEECH },
   348		{ USB_DEVICE(0x0489, 0xe0de), .driver_info = BTUSB_QCA_WCN6855 |
   349							     BTUSB_WIDEBAND_SPEECH },
   350		{ USB_DEVICE(0x0489, 0xe0df), .driver_info = BTUSB_QCA_WCN6855 |
   351							     BTUSB_WIDEBAND_SPEECH },
   352		{ USB_DEVICE(0x0489, 0xe0e1), .driver_info = BTUSB_QCA_WCN6855 |
   353							     BTUSB_WIDEBAND_SPEECH },
   354		{ USB_DEVICE(0x0489, 0xe0ea), .driver_info = BTUSB_QCA_WCN6855 |
   355							     BTUSB_WIDEBAND_SPEECH },
   356		{ USB_DEVICE(0x0489, 0xe0ec), .driver_info = BTUSB_QCA_WCN6855 |
   357							     BTUSB_WIDEBAND_SPEECH },
   358		{ USB_DEVICE(0x04ca, 0x3023), .driver_info = BTUSB_QCA_WCN6855 |
   359							     BTUSB_WIDEBAND_SPEECH },
   360		{ USB_DEVICE(0x04ca, 0x3024), .driver_info = BTUSB_QCA_WCN6855 |
   361							     BTUSB_WIDEBAND_SPEECH },
   362		{ USB_DEVICE(0x04ca, 0x3a22), .driver_info = BTUSB_QCA_WCN6855 |
   363							     BTUSB_WIDEBAND_SPEECH },
   364		{ USB_DEVICE(0x04ca, 0x3a24), .driver_info = BTUSB_QCA_WCN6855 |
   365							     BTUSB_WIDEBAND_SPEECH },
   366		{ USB_DEVICE(0x04ca, 0x3a26), .driver_info = BTUSB_QCA_WCN6855 |
   367							     BTUSB_WIDEBAND_SPEECH },
   368		{ USB_DEVICE(0x04ca, 0x3a27), .driver_info = BTUSB_QCA_WCN6855 |
   369							     BTUSB_WIDEBAND_SPEECH },
   370	
   371		/* QCA WCN785x chipset */
   372		{ USB_DEVICE(0x0cf3, 0xe700), .driver_info = BTUSB_QCA_WCN6855 |
   373							     BTUSB_WIDEBAND_SPEECH },
   374	
   375		/* Broadcom BCM2035 */
   376		{ USB_DEVICE(0x0a5c, 0x2009), .driver_info = BTUSB_BCM92035 },
   377		{ USB_DEVICE(0x0a5c, 0x200a), .driver_info = BTUSB_WRONG_SCO_MTU },
   378		{ USB_DEVICE(0x0a5c, 0x2035), .driver_info = BTUSB_WRONG_SCO_MTU },
   379	
   380		/* Broadcom BCM2045 */
   381		{ USB_DEVICE(0x0a5c, 0x2039), .driver_info = BTUSB_WRONG_SCO_MTU },
   382		{ USB_DEVICE(0x0a5c, 0x2101), .driver_info = BTUSB_WRONG_SCO_MTU },
   383	
   384		/* IBM/Lenovo ThinkPad with Broadcom chip */
   385		{ USB_DEVICE(0x0a5c, 0x201e), .driver_info = BTUSB_WRONG_SCO_MTU },
   386		{ USB_DEVICE(0x0a5c, 0x2110), .driver_info = BTUSB_WRONG_SCO_MTU },
   387	
   388		/* HP laptop with Broadcom chip */
   389		{ USB_DEVICE(0x03f0, 0x171d), .driver_info = BTUSB_WRONG_SCO_MTU },
   390	
   391		/* Dell laptop with Broadcom chip */
   392		{ USB_DEVICE(0x413c, 0x8126), .driver_info = BTUSB_WRONG_SCO_MTU },
   393	
   394		/* Dell Wireless 370 and 410 devices */
   395		{ USB_DEVICE(0x413c, 0x8152), .driver_info = BTUSB_WRONG_SCO_MTU },
   396		{ USB_DEVICE(0x413c, 0x8156), .driver_info = BTUSB_WRONG_SCO_MTU },
   397	
   398		/* Belkin F8T012 and F8T013 devices */
   399		{ USB_DEVICE(0x050d, 0x0012), .driver_info = BTUSB_WRONG_SCO_MTU },
   400		{ USB_DEVICE(0x050d, 0x0013), .driver_info = BTUSB_WRONG_SCO_MTU },
   401	
   402		/* Asus WL-BTD202 device */
   403		{ USB_DEVICE(0x0b05, 0x1715), .driver_info = BTUSB_WRONG_SCO_MTU },
   404	
   405		/* Kensington Bluetooth USB adapter */
   406		{ USB_DEVICE(0x047d, 0x105e), .driver_info = BTUSB_WRONG_SCO_MTU },
   407	
   408		/* RTX Telecom based adapters with buggy SCO support */
   409		{ USB_DEVICE(0x0400, 0x0807), .driver_info = BTUSB_BROKEN_ISOC },
   410		{ USB_DEVICE(0x0400, 0x080a), .driver_info = BTUSB_BROKEN_ISOC },
   411	
   412		/* CONWISE Technology based adapters with buggy SCO support */
   413		{ USB_DEVICE(0x0e5e, 0x6622),
   414		  .driver_info = BTUSB_BROKEN_ISOC | BTUSB_CW6622},
   415	
   416		/* Roper Class 1 Bluetooth Dongle (Silicon Wave based) */
   417		{ USB_DEVICE(0x1310, 0x0001), .driver_info = BTUSB_SWAVE },
   418	
   419		/* Digianswer devices */
   420		{ USB_DEVICE(0x08fd, 0x0001), .driver_info = BTUSB_DIGIANSWER },
   421		{ USB_DEVICE(0x08fd, 0x0002), .driver_info = BTUSB_IGNORE },
   422	
   423		/* CSR BlueCore Bluetooth Sniffer */
   424		{ USB_DEVICE(0x0a12, 0x0002),
   425		  .driver_info = BTUSB_SNIFFER | BTUSB_BROKEN_ISOC },
   426	
   427		/* Frontline ComProbe Bluetooth Sniffer */
   428		{ USB_DEVICE(0x16d3, 0x0002),
   429		  .driver_info = BTUSB_SNIFFER | BTUSB_BROKEN_ISOC },
   430	
   431		/* Marvell Bluetooth devices */
   432		{ USB_DEVICE(0x1286, 0x2044), .driver_info = BTUSB_MARVELL },
   433		{ USB_DEVICE(0x1286, 0x2046), .driver_info = BTUSB_MARVELL },
   434		{ USB_DEVICE(0x1286, 0x204e), .driver_info = BTUSB_MARVELL },
   435	
   436		/* Intel Bluetooth devices */
   437		{ USB_DEVICE(0x8087, 0x0025), .driver_info = BTUSB_INTEL_COMBINED },
   438		{ USB_DEVICE(0x8087, 0x0026), .driver_info = BTUSB_INTEL_COMBINED },
   439		{ USB_DEVICE(0x8087, 0x0029), .driver_info = BTUSB_INTEL_COMBINED },
   440		{ USB_DEVICE(0x8087, 0x0032), .driver_info = BTUSB_INTEL_COMBINED },
   441		{ USB_DEVICE(0x8087, 0x0033), .driver_info = BTUSB_INTEL_COMBINED },
   442		{ USB_DEVICE(0x8087, 0x0035), .driver_info = BTUSB_INTEL_COMBINED },
   443		{ USB_DEVICE(0x8087, 0x0036), .driver_info = BTUSB_INTEL_COMBINED },
   444		{ USB_DEVICE(0x8087, 0x0037), .driver_info = BTUSB_INTEL_COMBINED },
   445		{ USB_DEVICE(0x8087, 0x0038), .driver_info = BTUSB_INTEL_COMBINED },
   446		{ USB_DEVICE(0x8087, 0x0039), .driver_info = BTUSB_INTEL_COMBINED },
   447		{ USB_DEVICE(0x8087, 0x07da), .driver_info = BTUSB_CSR },
   448		{ USB_DEVICE(0x8087, 0x07dc), .driver_info = BTUSB_INTEL_COMBINED |
   449							     BTUSB_INTEL_NO_WBS_SUPPORT |
   450							     BTUSB_INTEL_BROKEN_INITIAL_NCMD |
   451							     BTUSB_INTEL_BROKEN_SHUTDOWN_LED },
   452		{ USB_DEVICE(0x8087, 0x0a2a), .driver_info = BTUSB_INTEL_COMBINED |
   453							     BTUSB_INTEL_NO_WBS_SUPPORT |
   454							     BTUSB_INTEL_BROKEN_SHUTDOWN_LED },
   455		{ USB_DEVICE(0x8087, 0x0a2b), .driver_info = BTUSB_INTEL_COMBINED },
   456		{ USB_DEVICE(0x8087, 0x0aa7), .driver_info = BTUSB_INTEL_COMBINED |
   457							     BTUSB_INTEL_BROKEN_SHUTDOWN_LED },
   458		{ USB_DEVICE(0x8087, 0x0aaa), .driver_info = BTUSB_INTEL_COMBINED },
   459	
   460		/* Other Intel Bluetooth devices */
   461		{ USB_VENDOR_AND_INTERFACE_INFO(0x8087, 0xe0, 0x01, 0x01),
   462		  .driver_info = BTUSB_IGNORE },
   463	
   464		/* Realtek 8821CE Bluetooth devices */
   465		{ USB_DEVICE(0x13d3, 0x3529), .driver_info = BTUSB_REALTEK |
   466							     BTUSB_WIDEBAND_SPEECH },
   467	
   468		/* Realtek 8822CE Bluetooth devices */
   469		{ USB_DEVICE(0x0bda, 0xb00c), .driver_info = BTUSB_REALTEK |
   470							     BTUSB_WIDEBAND_SPEECH },
   471		{ USB_DEVICE(0x0bda, 0xc822), .driver_info = BTUSB_REALTEK |
   472							     BTUSB_WIDEBAND_SPEECH },
   473	
   474		/* Realtek 8822CU Bluetooth devices */
   475		{ USB_DEVICE(0x13d3, 0x3549), .driver_info = BTUSB_REALTEK |
   476							     BTUSB_WIDEBAND_SPEECH },
   477	
   478		/* Realtek 8852AE Bluetooth devices */
   479		{ USB_DEVICE(0x0bda, 0x2852), .driver_info = BTUSB_REALTEK |
   480							     BTUSB_WIDEBAND_SPEECH },
   481		{ USB_DEVICE(0x0bda, 0xc852), .driver_info = BTUSB_REALTEK |
   482							     BTUSB_WIDEBAND_SPEECH },
   483		{ USB_DEVICE(0x0bda, 0x385a), .driver_info = BTUSB_REALTEK |
   484							     BTUSB_WIDEBAND_SPEECH },
   485		{ USB_DEVICE(0x0bda, 0x4852), .driver_info = BTUSB_REALTEK |
   486							     BTUSB_WIDEBAND_SPEECH },
   487		{ USB_DEVICE(0x04c5, 0x165c), .driver_info = BTUSB_REALTEK |
   488							     BTUSB_WIDEBAND_SPEECH },
   489		{ USB_DEVICE(0x04ca, 0x4006), .driver_info = BTUSB_REALTEK |
   490							     BTUSB_WIDEBAND_SPEECH },
   491		{ USB_DEVICE(0x0cb8, 0xc549), .driver_info = BTUSB_REALTEK |
   492							     BTUSB_WIDEBAND_SPEECH },
   493	
   494		/* Realtek 8852CE Bluetooth devices */
   495		{ USB_DEVICE(0x04ca, 0x4007), .driver_info = BTUSB_REALTEK |
   496							     BTUSB_WIDEBAND_SPEECH },
   497		{ USB_DEVICE(0x04c5, 0x1675), .driver_info = BTUSB_REALTEK |
   498							     BTUSB_WIDEBAND_SPEECH },
   499		{ USB_DEVICE(0x0cb8, 0xc558), .driver_info = BTUSB_REALTEK |
   500							     BTUSB_WIDEBAND_SPEECH },
   501		{ USB_DEVICE(0x13d3, 0x3587), .driver_info = BTUSB_REALTEK |
   502							     BTUSB_WIDEBAND_SPEECH },
   503		{ USB_DEVICE(0x13d3, 0x3586), .driver_info = BTUSB_REALTEK |
   504							     BTUSB_WIDEBAND_SPEECH },
   505		{ USB_DEVICE(0x13d3, 0x3592), .driver_info = BTUSB_REALTEK |
   506							     BTUSB_WIDEBAND_SPEECH },
   507		{ USB_DEVICE(0x0489, 0xe122), .driver_info = BTUSB_REALTEK |
   508							     BTUSB_WIDEBAND_SPEECH },
   509	
   510		/* Realtek 8852BE Bluetooth devices */
   511		{ USB_DEVICE(0x0cb8, 0xc559), .driver_info = BTUSB_REALTEK |
   512							     BTUSB_WIDEBAND_SPEECH },
   513		{ USB_DEVICE(0x0bda, 0x4853), .driver_info = BTUSB_REALTEK |
   514							     BTUSB_WIDEBAND_SPEECH },
   515		{ USB_DEVICE(0x0bda, 0x887b), .driver_info = BTUSB_REALTEK |
   516							     BTUSB_WIDEBAND_SPEECH },
   517		{ USB_DEVICE(0x0bda, 0xb85b), .driver_info = BTUSB_REALTEK |
   518							     BTUSB_WIDEBAND_SPEECH },
   519		{ USB_DEVICE(0x13d3, 0x3570), .driver_info = BTUSB_REALTEK |
   520							     BTUSB_WIDEBAND_SPEECH },
   521		{ USB_DEVICE(0x13d3, 0x3571), .driver_info = BTUSB_REALTEK |
   522							     BTUSB_WIDEBAND_SPEECH },
   523		{ USB_DEVICE(0x13d3, 0x3572), .driver_info = BTUSB_REALTEK |
   524							     BTUSB_WIDEBAND_SPEECH },
   525		{ USB_DEVICE(0x13d3, 0x3591), .driver_info = BTUSB_REALTEK |
   526							     BTUSB_WIDEBAND_SPEECH },
   527		{ USB_DEVICE(0x0489, 0xe125), .driver_info = BTUSB_REALTEK |
   528							     BTUSB_WIDEBAND_SPEECH },
   529	
   530		/* Realtek 8852BT/8852BE-VT Bluetooth devices */
   531		{ USB_DEVICE(0x0bda, 0x8520), .driver_info = BTUSB_REALTEK |
   532							     BTUSB_WIDEBAND_SPEECH },
   533	
   534		/* Realtek 8922AE Bluetooth devices */
   535		{ USB_DEVICE(0x0bda, 0x8922), .driver_info = BTUSB_REALTEK |
   536							     BTUSB_WIDEBAND_SPEECH },
   537		{ USB_DEVICE(0x13d3, 0x3617), .driver_info = BTUSB_REALTEK |
   538							     BTUSB_WIDEBAND_SPEECH },
   539		{ USB_DEVICE(0x13d3, 0x3616), .driver_info = BTUSB_REALTEK |
   540							     BTUSB_WIDEBAND_SPEECH },
   541		{ USB_DEVICE(0x0489, 0xe130), .driver_info = BTUSB_REALTEK |
   542							     BTUSB_WIDEBAND_SPEECH },
   543	
   544		/* Realtek Bluetooth devices */
   545		{ USB_VENDOR_AND_INTERFACE_INFO(0x0bda, 0xe0, 0x01, 0x01),
   546		  .driver_info = BTUSB_REALTEK },
   547	
   548		/* MediaTek Bluetooth devices */
   549		{ USB_VENDOR_AND_INTERFACE_INFO(0x0e8d, 0xe0, 0x01, 0x01),
   550		  .driver_info = BTUSB_MEDIATEK |
   551				 BTUSB_WIDEBAND_SPEECH },
   552	
   553		/* Additional MediaTek MT7615E Bluetooth devices */
   554		{ USB_DEVICE(0x13d3, 0x3560), .driver_info = BTUSB_MEDIATEK},
   555	
   556		/* Additional MediaTek MT7663 Bluetooth devices */
   557		{ USB_DEVICE(0x043e, 0x310c), .driver_info = BTUSB_MEDIATEK |
   558							     BTUSB_WIDEBAND_SPEECH },
   559		{ USB_DEVICE(0x04ca, 0x3801), .driver_info = BTUSB_MEDIATEK |
   560							     BTUSB_WIDEBAND_SPEECH },
   561	
   562		/* Additional MediaTek MT7668 Bluetooth devices */
   563		{ USB_DEVICE(0x043e, 0x3109), .driver_info = BTUSB_MEDIATEK |
   564							     BTUSB_WIDEBAND_SPEECH },
   565	
   566		/* Additional MediaTek MT7921 Bluetooth devices */
   567		{ USB_DEVICE(0x0489, 0xe0c8), .driver_info = BTUSB_MEDIATEK |
   568							     BTUSB_WIDEBAND_SPEECH },
   569		{ USB_DEVICE(0x0489, 0xe0cd), .driver_info = BTUSB_MEDIATEK |
   570							     BTUSB_WIDEBAND_SPEECH },
   571		{ USB_DEVICE(0x0489, 0xe0e0), .driver_info = BTUSB_MEDIATEK |
   572							     BTUSB_WIDEBAND_SPEECH },
   573		{ USB_DEVICE(0x0489, 0xe0f2), .driver_info = BTUSB_MEDIATEK |
   574							     BTUSB_WIDEBAND_SPEECH },
   575		{ USB_DEVICE(0x04ca, 0x3802), .driver_info = BTUSB_MEDIATEK |
   576							     BTUSB_WIDEBAND_SPEECH },
   577		{ USB_DEVICE(0x0e8d, 0x0608), .driver_info = BTUSB_MEDIATEK |
   578							     BTUSB_WIDEBAND_SPEECH },
   579		{ USB_DEVICE(0x13d3, 0x3563), .driver_info = BTUSB_MEDIATEK |
   580							     BTUSB_WIDEBAND_SPEECH },
   581		{ USB_DEVICE(0x13d3, 0x3564), .driver_info = BTUSB_MEDIATEK |
   582							     BTUSB_WIDEBAND_SPEECH },
   583		{ USB_DEVICE(0x13d3, 0x3567), .driver_info = BTUSB_MEDIATEK |
   584							     BTUSB_WIDEBAND_SPEECH },
   585		{ USB_DEVICE(0x13d3, 0x3578), .driver_info = BTUSB_MEDIATEK |
   586							     BTUSB_WIDEBAND_SPEECH },
   587		{ USB_DEVICE(0x13d3, 0x3583), .driver_info = BTUSB_MEDIATEK |
   588							     BTUSB_WIDEBAND_SPEECH },
   589		{ USB_DEVICE(0x13d3, 0x3606), .driver_info = BTUSB_MEDIATEK |
   590							     BTUSB_WIDEBAND_SPEECH },
   591	
   592		/* MediaTek MT7922 Bluetooth devices */
   593		{ USB_DEVICE(0x13d3, 0x3585), .driver_info = BTUSB_MEDIATEK |
   594							     BTUSB_WIDEBAND_SPEECH },
   595	
   596		/* MediaTek MT7922A Bluetooth devices */
   597		{ USB_DEVICE(0x0489, 0xe0d8), .driver_info = BTUSB_MEDIATEK |
   598							     BTUSB_WIDEBAND_SPEECH },
   599		{ USB_DEVICE(0x0489, 0xe0d9), .driver_info = BTUSB_MEDIATEK |
   600							     BTUSB_WIDEBAND_SPEECH },
   601		{ USB_DEVICE(0x0489, 0xe0e2), .driver_info = BTUSB_MEDIATEK |
   602							     BTUSB_WIDEBAND_SPEECH },
   603		{ USB_DEVICE(0x0489, 0xe0e4), .driver_info = BTUSB_MEDIATEK |
   604							     BTUSB_WIDEBAND_SPEECH },
   605		{ USB_DEVICE(0x0489, 0xe0f1), .driver_info = BTUSB_MEDIATEK |
   606							     BTUSB_WIDEBAND_SPEECH },
   607		{ USB_DEVICE(0x0489, 0xe0f2), .driver_info = BTUSB_MEDIATEK |
   608							     BTUSB_WIDEBAND_SPEECH },
   609		{ USB_DEVICE(0x0489, 0xe0f5), .driver_info = BTUSB_MEDIATEK |
   610							     BTUSB_WIDEBAND_SPEECH },
   611		{ USB_DEVICE(0x0489, 0xe0f6), .driver_info = BTUSB_MEDIATEK |
   612							     BTUSB_WIDEBAND_SPEECH },
   613		{ USB_DEVICE(0x0489, 0xe102), .driver_info = BTUSB_MEDIATEK |
   614							     BTUSB_WIDEBAND_SPEECH },
   615		{ USB_DEVICE(0x04ca, 0x3804), .driver_info = BTUSB_MEDIATEK |
   616							     BTUSB_WIDEBAND_SPEECH },
   617		{ USB_DEVICE(0x04ca, 0x38e4), .driver_info = BTUSB_MEDIATEK |
   618							     BTUSB_WIDEBAND_SPEECH },
   619		{ USB_DEVICE(0x13d3, 0x3568), .driver_info = BTUSB_MEDIATEK |
   620							     BTUSB_WIDEBAND_SPEECH },
   621		{ USB_DEVICE(0x13d3, 0x3605), .driver_info = BTUSB_MEDIATEK |
   622							     BTUSB_WIDEBAND_SPEECH },
   623		{ USB_DEVICE(0x13d3, 0x3607), .driver_info = BTUSB_MEDIATEK |
   624							     BTUSB_WIDEBAND_SPEECH },
   625		{ USB_DEVICE(0x13d3, 0x3614), .driver_info = BTUSB_MEDIATEK |
   626							     BTUSB_WIDEBAND_SPEECH },
   627		{ USB_DEVICE(0x13d3, 0x3615), .driver_info = BTUSB_MEDIATEK |
   628							     BTUSB_WIDEBAND_SPEECH },
   629		{ USB_DEVICE(0x35f5, 0x7922), .driver_info = BTUSB_MEDIATEK |
   630							     BTUSB_WIDEBAND_SPEECH },
   631	
   632		/* Additional MediaTek MT7925 Bluetooth devices */
   633		{ USB_DEVICE(0x0489, 0xe113), .driver_info = BTUSB_MEDIATEK |
   634							     BTUSB_WIDEBAND_SPEECH },
   635		{ USB_DEVICE(0x0489, 0xe118), .driver_info = BTUSB_MEDIATEK |
   636							     BTUSB_WIDEBAND_SPEECH },
   637		{ USB_DEVICE(0x0489, 0xe11e), .driver_info = BTUSB_MEDIATEK |
   638							     BTUSB_WIDEBAND_SPEECH },
   639		{ USB_DEVICE(0x13d3, 0x3602), .driver_info = BTUSB_MEDIATEK |
   640							     BTUSB_WIDEBAND_SPEECH },
   641		{ USB_DEVICE(0x13d3, 0x3603), .driver_info = BTUSB_MEDIATEK |
   642							     BTUSB_WIDEBAND_SPEECH },
   643		{ USB_DEVICE(0x13d3, 0x3604), .driver_info = BTUSB_MEDIATEK |
   644							     BTUSB_WIDEBAND_SPEECH },
   645		{ USB_DEVICE(0x13d3, 0x3608), .driver_info = BTUSB_MEDIATEK |
   646							     BTUSB_WIDEBAND_SPEECH },
   647	
   648		/* MediaTek MT7925 Bluetooth devices */
   649		{ USB_DEVICE(0x13d3, 0x3608), .driver_info = BTUSB_MEDIATEK |
   650							     BTUSB_WIDEBAND_SPEECH |
 > 651							     BTUSB_VALID_LE_STATES },
   652	
   653		/* Additional Realtek 8723AE Bluetooth devices */
   654		{ USB_DEVICE(0x0930, 0x021d), .driver_info = BTUSB_REALTEK },
   655		{ USB_DEVICE(0x13d3, 0x3394), .driver_info = BTUSB_REALTEK },
   656	
   657		/* Additional Realtek 8723BE Bluetooth devices */
   658		{ USB_DEVICE(0x0489, 0xe085), .driver_info = BTUSB_REALTEK },
   659		{ USB_DEVICE(0x0489, 0xe08b), .driver_info = BTUSB_REALTEK },
   660		{ USB_DEVICE(0x04f2, 0xb49f), .driver_info = BTUSB_REALTEK },
   661		{ USB_DEVICE(0x13d3, 0x3410), .driver_info = BTUSB_REALTEK },
   662		{ USB_DEVICE(0x13d3, 0x3416), .driver_info = BTUSB_REALTEK },
   663		{ USB_DEVICE(0x13d3, 0x3459), .driver_info = BTUSB_REALTEK },
   664		{ USB_DEVICE(0x13d3, 0x3494), .driver_info = BTUSB_REALTEK },
   665	
   666		/* Additional Realtek 8723BU Bluetooth devices */
   667		{ USB_DEVICE(0x7392, 0xa611), .driver_info = BTUSB_REALTEK },
   668	
   669		/* Additional Realtek 8723DE Bluetooth devices */
   670		{ USB_DEVICE(0x0bda, 0xb009), .driver_info = BTUSB_REALTEK },
   671		{ USB_DEVICE(0x2ff8, 0xb011), .driver_info = BTUSB_REALTEK },
   672	
   673		/* Additional Realtek 8761BUV Bluetooth devices */
   674		{ USB_DEVICE(0x2357, 0x0604), .driver_info = BTUSB_REALTEK |
   675							     BTUSB_WIDEBAND_SPEECH },
   676		{ USB_DEVICE(0x0b05, 0x190e), .driver_info = BTUSB_REALTEK |
   677		  					     BTUSB_WIDEBAND_SPEECH },
   678		{ USB_DEVICE(0x2550, 0x8761), .driver_info = BTUSB_REALTEK |
   679							     BTUSB_WIDEBAND_SPEECH },
   680		{ USB_DEVICE(0x0bda, 0x8771), .driver_info = BTUSB_REALTEK |
   681							     BTUSB_WIDEBAND_SPEECH },
   682		{ USB_DEVICE(0x6655, 0x8771), .driver_info = BTUSB_REALTEK |
   683							     BTUSB_WIDEBAND_SPEECH },
   684		{ USB_DEVICE(0x7392, 0xc611), .driver_info = BTUSB_REALTEK |
   685							     BTUSB_WIDEBAND_SPEECH },
   686		{ USB_DEVICE(0x2b89, 0x8761), .driver_info = BTUSB_REALTEK |
   687							     BTUSB_WIDEBAND_SPEECH },
   688	
   689		/* Additional Realtek 8821AE Bluetooth devices */
   690		{ USB_DEVICE(0x0b05, 0x17dc), .driver_info = BTUSB_REALTEK },
   691		{ USB_DEVICE(0x13d3, 0x3414), .driver_info = BTUSB_REALTEK },
   692		{ USB_DEVICE(0x13d3, 0x3458), .driver_info = BTUSB_REALTEK },
   693		{ USB_DEVICE(0x13d3, 0x3461), .driver_info = BTUSB_REALTEK },
   694		{ USB_DEVICE(0x13d3, 0x3462), .driver_info = BTUSB_REALTEK },
   695	
   696		/* Additional Realtek 8822BE Bluetooth devices */
   697		{ USB_DEVICE(0x13d3, 0x3526), .driver_info = BTUSB_REALTEK },
   698		{ USB_DEVICE(0x0b05, 0x185c), .driver_info = BTUSB_REALTEK },
   699	
   700		/* Additional Realtek 8822CE Bluetooth devices */
   701		{ USB_DEVICE(0x04ca, 0x4005), .driver_info = BTUSB_REALTEK |
   702							     BTUSB_WIDEBAND_SPEECH },
   703		{ USB_DEVICE(0x04c5, 0x161f), .driver_info = BTUSB_REALTEK |
   704							     BTUSB_WIDEBAND_SPEECH },
   705		{ USB_DEVICE(0x0b05, 0x18ef), .driver_info = BTUSB_REALTEK |
   706							     BTUSB_WIDEBAND_SPEECH },
   707		{ USB_DEVICE(0x13d3, 0x3548), .driver_info = BTUSB_REALTEK |
   708							     BTUSB_WIDEBAND_SPEECH },
   709		{ USB_DEVICE(0x13d3, 0x3549), .driver_info = BTUSB_REALTEK |
   710							     BTUSB_WIDEBAND_SPEECH },
   711		{ USB_DEVICE(0x13d3, 0x3553), .driver_info = BTUSB_REALTEK |
   712							     BTUSB_WIDEBAND_SPEECH },
   713		{ USB_DEVICE(0x13d3, 0x3555), .driver_info = BTUSB_REALTEK |
   714							     BTUSB_WIDEBAND_SPEECH },
   715		{ USB_DEVICE(0x2ff8, 0x3051), .driver_info = BTUSB_REALTEK |
   716							     BTUSB_WIDEBAND_SPEECH },
   717		{ USB_DEVICE(0x1358, 0xc123), .driver_info = BTUSB_REALTEK |
   718							     BTUSB_WIDEBAND_SPEECH },
   719		{ USB_DEVICE(0x0bda, 0xc123), .driver_info = BTUSB_REALTEK |
   720							     BTUSB_WIDEBAND_SPEECH },
   721		{ USB_DEVICE(0x0cb5, 0xc547), .driver_info = BTUSB_REALTEK |
   722							     BTUSB_WIDEBAND_SPEECH },
   723	
   724		/* Actions Semiconductor ATS2851 based devices */
   725		{ USB_DEVICE(0x10d7, 0xb012), .driver_info = BTUSB_ACTIONS_SEMI },
   726	
   727		/* Silicon Wave based devices */
   728		{ USB_DEVICE(0x0c10, 0x0000), .driver_info = BTUSB_SWAVE },
   729	
   730		{ }	/* Terminating entry */
   731	};
   732
WangYuli Nov. 11, 2024, 5:31 a.m. UTC | #4
On 2024/11/8 16:48, Paul Menzel wrote:

>
> Should there be a space in your name: Wang Yuli?
>
No need :-)

>
> There is already an entry for 13d3:3608. 

Sorry. I've been working on this patch in the bluetooth-next branch of 
the bluetooth-next repository. [1]

So I did not notice the new changes to this file.


[1] 
git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next.git


> Should only BTUSB_VALID_LE_STATES be added?Please update the commit 
> message (summary and body) accordingly.


No need now.

Because of commit 0fec656d08aa ("Bluetooth: btusb: Invert LE State flag 
to set invalid rather then valid")

>
>
> Kind regards,
>
> Paul
>
diff mbox series

Patch

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index e9534fbc92e3..2175a09e21be 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -645,6 +645,11 @@  static const struct usb_device_id quirks_table[] = {
 	{ USB_DEVICE(0x13d3, 0x3608), .driver_info = BTUSB_MEDIATEK |
 						     BTUSB_WIDEBAND_SPEECH },
 
+	/* MediaTek MT7925 Bluetooth devices */
+	{ USB_DEVICE(0x13d3, 0x3608), .driver_info = BTUSB_MEDIATEK |
+						     BTUSB_WIDEBAND_SPEECH |
+						     BTUSB_VALID_LE_STATES },
+
 	/* Additional Realtek 8723AE Bluetooth devices */
 	{ USB_DEVICE(0x0930, 0x021d), .driver_info = BTUSB_REALTEK },
 	{ USB_DEVICE(0x13d3, 0x3394), .driver_info = BTUSB_REALTEK },