Message ID | 20200310180642.Bluez.v1.1.I50b301a0464eb68e3d62721bf59e11ed2617c415@changeid (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Marcel Holtmann |
Headers | show |
Series | [Bluez,v1] Bluetooth: L2CAP: handle l2cap config request during open state | expand |
Hi Howard, > According to Core Spec Version 5.2 | Vol 3, Part A 6.1.5, > the incoming L2CAP_ConfigReq should be handled during > OPEN state. > > Signed-off-by: Howard Chung <howardchung@google.com> > > --- > > net/bluetooth/l2cap_core.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c > index 697c0f7f2c1a..5e6e35ab44dd 100644 > --- a/net/bluetooth/l2cap_core.c > +++ b/net/bluetooth/l2cap_core.c > @@ -4300,7 +4300,8 @@ static inline int l2cap_config_req(struct l2cap_conn *conn, > return 0; > } > > - if (chan->state != BT_CONFIG && chan->state != BT_CONNECT2) { > + if (chan->state != BT_CONFIG && chan->state != BT_CONNECT2 && > + chan->state != BT_CONNECTED) { > cmd_reject_invalid_cid(conn, cmd->ident, chan->scid, > chan->dcid); > goto unlock; Any chance you can add a btmon trace excerpt for this to the commit message. It would be good to have the before and after here included. Regards Marcel
diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c index 697c0f7f2c1a..5e6e35ab44dd 100644 --- a/net/bluetooth/l2cap_core.c +++ b/net/bluetooth/l2cap_core.c @@ -4300,7 +4300,8 @@ static inline int l2cap_config_req(struct l2cap_conn *conn, return 0; } - if (chan->state != BT_CONFIG && chan->state != BT_CONNECT2) { + if (chan->state != BT_CONFIG && chan->state != BT_CONNECT2 && + chan->state != BT_CONNECTED) { cmd_reject_invalid_cid(conn, cmd->ident, chan->scid, chan->dcid); goto unlock;
According to Core Spec Version 5.2 | Vol 3, Part A 6.1.5, the incoming L2CAP_ConfigReq should be handled during OPEN state. Signed-off-by: Howard Chung <howardchung@google.com> --- net/bluetooth/l2cap_core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)