Re: [PATCH] Bluetooth : Errata Service Release 8, Erratum 3253

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

 



Hi Malikarjun,

>>> L2CAP: New result values
>>> 	0x0006 - Connection refused – Invalid Source CID
>>> 	0x0007 - Connection refused – Source CID already allocated
>>> 
>>> As per the ESR08_V1.0.0, 1.11.2 Erratum 3253, Page No. 54, "Remote CID
>>> invalid Issue".
>>> Applies to Core Specification versions: V5.0, V4.2, v4.1, v4.0, and
>>> v3.0 + HS Vol 3, Part A, Section 4.2, 4.3, 4.14, 4.15.
>>> 
>>> Core Specification Version 5.0, Page No.1753, Table 4.6 and Page No.
>>> 1767, Table 4.14
>>> 
>>> New result values are added to l2cap connect/create channel response
>>> as
>>> 0x0006 - Connection refused – Invalid Source CID
>>> 0x0007 - Connection refused – Source CID already allocated
>>> 
>>> Signed-off-by: Mallikarjun Phulari <mallikarjun.phulari@xxxxxxxxx>
>>> ---
>>> include/net/bluetooth/l2cap.h |  6 ++++++
>>> net/bluetooth/l2cap_core.c    | 17 ++++++++++++++++-
>>> 2 files changed, 22 insertions(+), 1 deletion(-)
>>> 
>>> diff --git a/include/net/bluetooth/l2cap.h
>>> b/include/net/bluetooth/l2cap.h index 0697fd4..c7f97cc 100644
>>> --- a/include/net/bluetooth/l2cap.h
>>> +++ b/include/net/bluetooth/l2cap.h
>>> @@ -284,6 +284,12 @@ struct l2cap_conn_rsp {
>>> #define L2CAP_CR_INVALID_SCID	0x0009
>>> #define L2CAP_CR_SCID_IN_USE	0x000A
>>> 
>>> +/* connect/create channel results
>>> + * New result codesAs per ESR08_V1.0.0, Erratum 3253  */
>>> +#define L2CAP_CR_BREDR_INVALID_SCID	0x0006
>>> +#define L2CAP_CR_BREDR_SCID_IN_USE	0x0007
>>> +
>> 
>> I am confused here. We currently have this list:
>> 
>> /* connect/create channel results */
>> #define L2CAP_CR_SUCCESS        0x0000
>> #define L2CAP_CR_PEND           0x0001
>> #define L2CAP_CR_BAD_PSM        0x0002
>> #define L2CAP_CR_SEC_BLOCK      0x0003
>> #define L2CAP_CR_NO_MEM         0x0004
>> #define L2CAP_CR_BAD_AMP        0x0005
>> #define L2CAP_CR_AUTHENTICATION 0x0005
>> #define L2CAP_CR_AUTHORIZATION  0x0006
>> #define L2CAP_CR_BAD_KEY_SIZE   0x0007
>> #define L2CAP_CR_ENCRYPTION     0x0008
>> #define L2CAP_CR_INVALID_SCID   0x0009
>> #define L2CAP_CR_SCID_IN_USE    0x000A
>> 
>> Now here we have 0x0006 and 0x0007 taken. Have these been changed now.
>> The L2CAP_CR_AUTHORIZATION we actually do use in LE and if this table is not
>> treated with independent name spaces for BR/EDR vs LE, then we need to split
>> this one first and get the LE only ones proper names and fix their usage.
>> 
> The current name spaces that you have mentioned above, have the combined result values for LE Credit base Connection (VOL 3, Part A, 4.23, Table 4.20) and for L2CAP Create/Connect (VOL3, Part A, 4.3 /4.15, Table 4.6/4.14).
> To create separate name spaces for each set of error codes for L2CAP channel request, L2CAP create Connection and LE credit based create connection will add more rework to replace the error codes where these are being used.
> 
> Therefore, to avoid the rework , I had used the result values as:
> 
> #define L2CAP_CR_BREDR_INVALID_SCID	0x0006
> #define L2CAP_CR_BREDR_SCID_IN_USE	0x0007
> 
> If you suggest to separate the name spaces for LE and BREDR result values, I shall re-send the v3 patch with the changes.

if the currently 0x0006-0x000A are LE only, then we should change their names to L2CAP_CR_LE_* and convert their usages. And then add the new BR/EDR only 0x0006-0x0007 into the list (without _BREDR in the name).

Regards

Marcel




[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