Bluetooth: Fix using HCI_CONN_LE_SMP_PEND to check for SMP context
authorJohan Hedberg <johan.hedberg@intel.com>
Fri, 8 Aug 2014 06:28:05 +0000 (09:28 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Thu, 14 Aug 2014 06:49:16 +0000 (08:49 +0200)
The code is consistently using the HCI_CONN_LE_SMP_PEND flag check for
the existence of the SMP context, with the exception of this one place
in smp_sig_channel(). This patch converts the place to use the flag just
like all other instances.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
net/bluetooth/smp.c

index 40db728..33016ec 100644 (file)
@@ -1206,7 +1206,7 @@ int smp_sig_channel(struct l2cap_conn *conn, struct sk_buff *skb)
         * returns an error).
         */
        if (code != SMP_CMD_PAIRING_REQ && code != SMP_CMD_SECURITY_REQ &&
-           !conn->smp_chan) {
+           !test_bit(HCI_CONN_LE_SMP_PEND, &hcon->flags)) {
                BT_ERR("Unexpected SMP command 0x%02x. Disconnecting.", code);
                kfree_skb(skb);
                return -EOPNOTSUPP;