Bluetooth: Fix L2CAP connection establishment
authorIlia Kolomisnky <ilia.kolominsky@gmail.com>
Wed, 15 Jun 2011 03:52:26 +0000 (06:52 +0300)
committerGustavo F. Padovan <padovan@profusion.mobi>
Wed, 15 Jun 2011 18:03:37 +0000 (15:03 -0300)
In hci_conn_security ( which is used during L2CAP connection
establishment ) test for HCI_CONN_ENCRYPT_PEND state also
sets this state, which is bogus and leads to connection time-out
on L2CAP sockets in certain situations (especially when
using non-ssp devices )

Signed-off-by: Ilia Kolomisnky <iliak@ti.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
net/bluetooth/hci_conn.c

index b9aa986..d3a05b9 100644 (file)
@@ -608,7 +608,7 @@ int hci_conn_security(struct hci_conn *conn, __u8 sec_level, __u8 auth_type)
                goto encrypt;
 
 auth:
-       if (test_and_set_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend))
+       if (test_bit(HCI_CONN_ENCRYPT_PEND, &conn->pend))
                return 0;
 
        if (!hci_conn_auth(conn, sec_level, auth_type))