Howard Chung
b432ea85ab
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 13:17:41 +02:00
..
2019-07-06 12:50:01 +02:00
2020-08-11 15:33:36 +02:00
2019-06-19 17:09:55 +02:00
2020-01-12 12:21:50 +01:00
2020-08-11 15:33:40 +02:00
2020-10-01 13:17:24 +02:00
2020-07-31 18:39:31 +02:00
2020-09-09 19:12:23 +02:00
2020-10-01 13:17:41 +02:00
2019-07-25 18:00:41 -07:00
2020-04-21 09:04:53 +02:00
2020-09-26 18:03:12 +02:00
2019-10-28 13:33:41 -07:00
2020-09-03 11:26:58 +02:00
2020-07-22 09:33:17 +02:00
2020-10-01 13:17:24 +02:00
2020-09-26 18:03:12 +02:00
2020-06-17 16:40:32 +02:00
2020-01-04 19:18:58 +01:00
2020-04-23 10:36:45 +02:00
2020-09-23 12:40:33 +02:00
2020-01-09 10:20:06 +01:00
2020-04-21 09:04:44 +02:00
2020-03-18 07:17:44 +01:00
2019-09-26 08:56:17 +02:00
2020-10-01 13:17:25 +02:00
2020-10-01 13:17:25 +02:00
2019-07-29 10:26:14 -07:00
2019-09-27 10:27:14 +02:00
2020-09-26 18:03:10 +02:00
2020-07-22 09:32:47 +02:00
2019-06-23 13:24:17 -07:00
2019-06-17 20:20:36 -07:00
2020-10-01 13:17:15 +02:00
2020-08-21 13:05:26 +02:00
2019-05-30 11:26:41 -07:00
2019-12-18 16:08:42 +01:00
2019-09-19 18:04:40 -07:00
2020-09-17 13:47:45 +02:00
2020-09-12 14:18:55 +02:00
2020-07-22 09:32:46 +02:00
2020-04-29 16:33:08 +02:00
2020-08-19 08:16:22 +02:00
2019-06-19 17:09:55 +02:00
2020-08-11 15:33:41 +02:00
2020-09-09 19:12:29 +02:00
2019-10-28 13:33:41 -07:00
2019-12-04 22:30:54 +01:00
2020-09-26 18:03:15 +02:00
2020-08-05 09:59:44 +02:00
2020-01-12 12:21:33 +01:00
2019-10-24 14:53:48 -07:00
2020-09-09 19:12:23 +02:00
2020-09-26 18:03:13 +02:00
2020-10-01 13:17:27 +02:00
2020-09-03 11:26:40 +02:00
2019-06-22 08:59:24 -04:00
2020-10-01 13:17:21 +02:00
2020-10-01 13:17:24 +02:00
2020-08-19 08:16:23 +02:00
2020-10-01 13:17:31 +02:00
2020-07-29 10:18:31 +02:00
2019-08-10 15:25:47 -07:00
2020-09-17 13:47:46 +02:00
2020-08-05 09:59:44 +02:00
2020-06-24 17:50:44 +02:00
2020-08-05 09:59:44 +02:00
2020-08-21 13:05:25 +02:00
2020-04-01 11:02:18 +02:00
2020-08-19 08:16:22 +02:00