Howard Chung
b7d0ca715c
Bluetooth: L2CAP: handle l2cap config request during open state
...
[ Upstream commit 96298f640104e4cd9a913a6e50b0b981829b94ff ]
According to Core Spec Version 5.2 | Vol 3, Part A 6.1.5,
the incoming L2CAP_ConfigReq should be handled during
OPEN state.
The section below shows the btmon trace when running
L2CAP/COS/CFD/BV-12-C before and after this change.
=== Before ===
...
> ACL Data RX: Handle 256 flags 0x02 dlen 12 #22
L2CAP: Connection Request (0x02) ident 2 len 4
PSM: 1 (0x0001)
Source CID: 65
< ACL Data TX: Handle 256 flags 0x00 dlen 16 #23
L2CAP: Connection Response (0x03) ident 2 len 8
Destination CID: 64
Source CID: 65
Result: Connection successful (0x0000)
Status: No further information available (0x0000)
< ACL Data TX: Handle 256 flags 0x00 dlen 12 #24
L2CAP: Configure Request (0x04) ident 2 len 4
Destination CID: 65
Flags: 0x0000
> HCI Event: Number of Completed Packets (0x13) plen 5 #25
Num handles: 1
Handle: 256
Count: 1
> HCI Event: Number of Completed Packets (0x13) plen 5 #26
Num handles: 1
Handle: 256
Count: 1
> ACL Data RX: Handle 256 flags 0x02 dlen 16 #27
L2CAP: Configure Request (0x04) ident 3 len 8
Destination CID: 64
Flags: 0x0000
Option: Unknown (0x10) [hint]
01 00 ..
< ACL Data TX: Handle 256 flags 0x00 dlen 18 #28
L2CAP: Configure Response (0x05) ident 3 len 10
Source CID: 65
Flags: 0x0000
Result: Success (0x0000)
Option: Maximum Transmission Unit (0x01) [mandatory]
MTU: 672
> HCI Event: Number of Completed Packets (0x13) plen 5 #29
Num handles: 1
Handle: 256
Count: 1
> ACL Data RX: Handle 256 flags 0x02 dlen 14 #30
L2CAP: Configure Response (0x05) ident 2 len 6
Source CID: 64
Flags: 0x0000
Result: Success (0x0000)
> ACL Data RX: Handle 256 flags 0x02 dlen 20 #31
L2CAP: Configure Request (0x04) ident 3 len 12
Destination CID: 64
Flags: 0x0000
Option: Unknown (0x10) [hint]
01 00 91 02 11 11 ......
< ACL Data TX: Handle 256 flags 0x00 dlen 14 #32
L2CAP: Command Reject (0x01) ident 3 len 6
Reason: Invalid CID in request (0x0002)
Destination CID: 64
Source CID: 65
> HCI Event: Number of Completed Packets (0x13) plen 5 #33
Num handles: 1
Handle: 256
Count: 1
...
=== After ===
...
> ACL Data RX: Handle 256 flags 0x02 dlen 12 #22
L2CAP: Connection Request (0x02) ident 2 len 4
PSM: 1 (0x0001)
Source CID: 65
< ACL Data TX: Handle 256 flags 0x00 dlen 16 #23
L2CAP: Connection Response (0x03) ident 2 len 8
Destination CID: 64
Source CID: 65
Result: Connection successful (0x0000)
Status: No further information available (0x0000)
< ACL Data TX: Handle 256 flags 0x00 dlen 12 #24
L2CAP: Configure Request (0x04) ident 2 len 4
Destination CID: 65
Flags: 0x0000
> HCI Event: Number of Completed Packets (0x13) plen 5 #25
Num handles: 1
Handle: 256
Count: 1
> HCI Event: Number of Completed Packets (0x13) plen 5 #26
Num handles: 1
Handle: 256
Count: 1
> ACL Data RX: Handle 256 flags 0x02 dlen 16 #27
L2CAP: Configure Request (0x04) ident 3 len 8
Destination CID: 64
Flags: 0x0000
Option: Unknown (0x10) [hint]
01 00 ..
< ACL Data TX: Handle 256 flags 0x00 dlen 18 #28
L2CAP: Configure Response (0x05) ident 3 len 10
Source CID: 65
Flags: 0x0000
Result: Success (0x0000)
Option: Maximum Transmission Unit (0x01) [mandatory]
MTU: 672
> HCI Event: Number of Completed Packets (0x13) plen 5 #29
Num handles: 1
Handle: 256
Count: 1
> ACL Data RX: Handle 256 flags 0x02 dlen 14 #30
L2CAP: Configure Response (0x05) ident 2 len 6
Source CID: 64
Flags: 0x0000
Result: Success (0x0000)
> ACL Data RX: Handle 256 flags 0x02 dlen 20 #31
L2CAP: Configure Request (0x04) ident 3 len 12
Destination CID: 64
Flags: 0x0000
Option: Unknown (0x10) [hint]
01 00 91 02 11 11 .....
< ACL Data TX: Handle 256 flags 0x00 dlen 18 #32
L2CAP: Configure Response (0x05) ident 3 len 10
Source CID: 65
Flags: 0x0000
Result: Success (0x0000)
Option: Maximum Transmission Unit (0x01) [mandatory]
MTU: 672
< ACL Data TX: Handle 256 flags 0x00 dlen 12 #33
L2CAP: Configure Request (0x04) ident 3 len 4
Destination CID: 65
Flags: 0x0000
> HCI Event: Number of Completed Packets (0x13) plen 5 #34
Num handles: 1
Handle: 256
Count: 1
> HCI Event: Number of Completed Packets (0x13) plen 5 #35
Num handles: 1
Handle: 256
Count: 1
...
Signed-off-by: Howard Chung <howardchung@google.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2020-10-01 20:40:09 +02:00
..
2020-01-29 10:24:22 +01:00
2020-08-21 11:01:54 +02:00
2020-01-12 11:24:27 +01:00
2019-12-21 10:41:45 +01:00
2019-04-27 09:34:40 +02:00
2020-07-31 16:44:06 +02:00
2020-09-12 11:47:33 +02:00
2020-10-01 20:40:09 +02:00
2020-06-03 08:16:45 +02:00
2019-05-08 07:19:07 +02:00
2019-07-10 09:55:33 +02:00
2020-06-03 08:16:41 +02:00
2020-10-01 20:40:04 +02:00
2018-09-19 22:47:15 +02:00
2020-05-20 08:15:30 +02:00
2019-12-05 15:35:12 +01:00
2018-07-22 14:27:39 +02:00
2020-04-13 10:32:53 +02:00
2020-01-12 11:24:19 +01:00
2020-10-01 20:40:01 +02:00
2020-03-20 09:07:39 +01:00
2020-10-01 20:40:04 +02:00
2020-09-03 11:21:15 +02:00
2017-05-25 15:44:41 +02:00
2018-09-15 09:43:01 +02:00
2020-01-29 10:24:26 +01:00
2019-04-17 08:36:44 +02:00
2020-10-01 20:39:59 +02:00
2020-07-22 09:10:47 +02:00
2016-09-10 23:12:53 -07:00
2019-06-22 08:17:22 +02:00
2020-07-22 09:10:47 +02:00
2020-08-21 11:02:08 +02:00
2018-09-09 20:01:19 +02:00
2020-05-20 08:15:30 +02:00
2016-10-20 11:23:08 -04:00
2020-09-12 11:47:33 +02:00
2020-09-12 11:47:39 +02:00
2020-07-22 09:10:48 +02:00
2020-05-02 17:23:08 +02:00
2020-08-21 11:02:04 +02:00
2019-12-21 10:42:23 +01:00
2020-01-29 10:24:35 +01:00
2019-03-23 13:19:44 +01:00
2020-06-03 08:16:29 +02:00
2020-08-21 11:01:49 +02:00
2020-01-12 11:24:23 +01:00
2019-04-03 06:24:14 +02:00
2020-07-31 16:44:06 +02:00
2020-06-30 15:38:37 -04:00
2020-09-12 11:47:40 +02:00
2018-04-29 11:32:02 +02:00
2020-09-23 08:46:14 +02:00
2016-10-19 10:58:04 -04:00
2020-10-01 20:40:00 +02:00
2020-10-01 20:40:06 +02:00
2020-06-11 09:22:21 +02:00
2020-09-12 11:47:39 +02:00
2020-08-21 11:01:50 +02:00
2020-06-03 08:16:44 +02:00
2020-08-21 11:02:08 +02:00
2020-08-21 11:02:04 +02:00
2016-10-06 09:52:23 -07:00