Hi Mat, On Tue, May 22, 2012 at 01:55:45PM -0700, Mat Martineau wrote: > Sometimes an ACL link must be raised to a higher security level after > an L2CAP connection is requested, but before a connection response is > sent. In this case, a connection response sent by L2CAP was not > immediately followed by a configuration request. Other code paths do > send this configuration request right away. It was possible for the > connection to time out while L2CAP waited for the remote device (like > PTS) to trigger the configuration process. > > This change immediately sends a configuration request after a connect > response rather than waiting for a configuration request from the > remote device. It fixes connection stalls in a variety of PTS test > cases. > > Signed-off-by: Mat Martineau <mathewm@xxxxxxxxxxxxxx> > --- > net/bluetooth/l2cap_core.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/net/bluetooth/l2cap_core.c b/net/bluetooth/l2cap_core.c > index b644f40..14c27f4 100644 > --- a/net/bluetooth/l2cap_core.c > +++ b/net/bluetooth/l2cap_core.c > @@ -5519,6 +5519,17 @@ int l2cap_security_cfm(struct hci_conn *hcon, u8 status, u8 encrypt) > rsp.status = cpu_to_le16(stat); > l2cap_send_cmd(conn, chan->ident, L2CAP_CONN_RSP, > sizeof(rsp), &rsp); > + > + if (!test_bit(CONF_REQ_SENT, &chan->conf_state) && > + res == L2CAP_CR_SUCCESS) { This looks more readable but I think we used to have constructions like !status so this would translate to !res Best regards Andrei Emeltchenko -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html