Marcel Holtmann
4bd783a46c
Bluetooth: Send HCI Set Event Mask Page 2 command only when needed
...
[ Upstream commit 313f6888c8fbb1bc8b36c9012ce4e1de848df696 ]
The Broadcom BCM20702 Bluetooth controller in ThinkPad-T530 devices
report support for the Set Event Mask Page 2 command, but actually do
return an error when trying to use it.
< HCI Command: Read Local Supported Commands (0x04|0x0002) plen 0
> HCI Event: Command Complete (0x0e) plen 68
Read Local Supported Commands (0x04|0x0002) ncmd 1
Status: Success (0x00)
Commands: 162 entries
...
Set Event Mask Page 2 (Octet 22 - Bit 2)
...
< HCI Command: Set Event Mask Page 2 (0x03|0x0063) plen 8
Mask: 0x0000000000000000
> HCI Event: Command Complete (0x0e) plen 4
Set Event Mask Page 2 (0x03|0x0063) ncmd 1
Status: Unknown HCI Command (0x01)
Since these controllers do not support any feature that would require
the event mask page 2 to be modified, it is safe to not send this
command at all. The default value is all bits set to zero.
T: Bus=01 Lev=02 Prnt=02 Port=03 Cnt=03 Dev#= 9 Spd=12 MxCh= 0
D: Ver= 2.00 Cls=ff(vend.) Sub=01 Prot=01 MxPS=64 #Cfgs= 1
P: Vendor=0a5c ProdID=21e6 Rev= 1.12
S: Manufacturer=Broadcom Corp
S: Product=BCM20702A0
S: SerialNumber=F82FA8E8CFC0
C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr= 0mA
I:* If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=01 Prot=01 Driver=btusb
E: Ad=81(I) Atr=03(Int.) MxPS= 16 Ivl=1ms
E: Ad=82(I) Atr=02(Bulk) MxPS= 64 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 64 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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=ff(vend.) 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#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=btusb
E: Ad=84(I) Atr=02(Bulk) MxPS= 32 Ivl=0ms
E: Ad=04(O) Atr=02(Bulk) MxPS= 32 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 0 Cls=fe(app. ) Sub=01 Prot=01 Driver=(none)
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Reported-by: Sedat Dilek <sedat.dilek@gmail.com>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-04-13 19:50:21 +02:00
..
2015-10-21 00:49:25 +02:00
2017-11-30 08:37:25 +00:00
2018-03-22 09:23:21 +01:00
2015-09-17 22:13:32 -07:00
2017-02-04 09:45:09 +01:00
2018-03-22 09:23:21 +01:00
2018-04-13 19:50:21 +02:00
2018-04-08 11:51:59 +02:00
2017-07-05 14:37:14 +02:00
2018-01-31 12:06:08 +01:00
2018-04-13 19:50:10 +02:00
2018-04-13 19:50:20 +02:00
2015-10-09 07:52:27 -07:00
2018-03-31 18:12:33 +02:00
2018-02-25 11:03:38 +01:00
2017-10-27 10:23:18 +02:00
2017-11-15 17:13:11 +01:00
2017-02-18 16:39:27 +01:00
2015-11-23 14:56:15 -05:00
2018-04-13 19:50:10 +02:00
2018-04-13 19:50:11 +02:00
2018-04-13 19:50:17 +02:00
2017-05-25 14:30:13 +02:00
2017-08-30 10:19:21 +02:00
2018-03-31 18:12:33 +02:00
2018-04-13 19:50:01 +02:00
2018-04-13 19:50:12 +02:00
2015-10-07 04:27:43 -07:00
2018-04-13 19:50:12 +02:00
2018-04-13 19:50:01 +02:00
2015-10-21 00:49:24 +02:00
2018-03-11 16:19:47 +01:00
2018-04-13 19:50:10 +02:00
2016-08-20 18:09:22 +02:00
2018-03-31 18:12:33 +02:00
2017-11-30 08:37:23 +00:00
2018-03-24 10:58:43 +01:00
2017-12-16 10:33:56 +01:00
2016-01-31 11:29:00 -08:00
2018-04-13 19:50:13 +02:00
2016-03-03 15:07:26 -08:00
2017-06-29 12:48:52 +02:00
2018-03-22 09:23:22 +01:00
2018-04-13 19:50:20 +02:00
2018-04-13 19:50:15 +02:00
2016-06-24 10:18:16 -07:00
2017-12-16 10:33:56 +01:00
2017-11-18 11:11:06 +01:00
2017-11-30 08:37:19 +00:00
2015-08-09 22:43:52 -07:00
2018-02-25 11:03:53 +01:00
2018-04-13 19:50:07 +02:00
2018-04-13 19:50:08 +02:00
2017-10-08 10:14:18 +02:00
2018-02-25 11:03:37 +01:00
2015-09-29 20:40:32 -07:00
2018-02-03 17:04:24 +01:00
2016-09-15 08:27:50 +02:00