Bluetooth: Fix processing A2MP chan in security_cfm
authorAndrei Emeltchenko <andrei.emeltchenko@intel.com>
Thu, 19 Jul 2012 14:03:47 +0000 (17:03 +0300)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Mon, 6 Aug 2012 18:02:56 +0000 (15:02 -0300)
Do not process A2MP channel in l2cap_security_cfm

Signed-off-by: Andrei Emeltchenko <andrei.emeltchenko@intel.com>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
net/bluetooth/l2cap_core.c

index a8964db04bfb5cd1d0d348ed96c472e4786f3f44..64d88a603f0aa9343ad3783a329931422c2e9aa7 100644 (file)
@@ -5404,6 +5404,11 @@ int l2cap_security_cfm(struct hci_conn *hcon, u8 status, u8 encrypt)
                BT_DBG("chan %p scid 0x%4.4x state %s", chan, chan->scid,
                       state_to_string(chan->state));
 
+               if (chan->chan_type == L2CAP_CHAN_CONN_FIX_A2MP) {
+                       l2cap_chan_unlock(chan);
+                       continue;
+               }
+
                if (chan->scid == L2CAP_CID_LE_DATA) {
                        if (!status && encrypt) {
                                chan->sec_level = hcon->sec_level;