Bluetooth: Fix SMP pairing method selection
authorJohan Hedberg <johan.hedberg@intel.com>
Wed, 6 Jun 2012 10:54:15 +0000 (18:54 +0800)
committerGustavo Padovan <gustavo.padovan@collabora.co.uk>
Fri, 8 Jun 2012 04:50:15 +0000 (01:50 -0300)
The tk_request function takes the local IO capability as the second last
parameter and the remote IO capability as the last parameter. They were
previously swapped: when we receive a pairing response
req->io_capability contains the local one and rsp->io_capability the
remote one.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Acked-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
net/bluetooth/smp.c

index 6fc7c4708f3e1fa6336a434ef8c63d072e262d5a..c4ac2849d9c2a195c2b65fbda6d9855253b0d5b9 100644 (file)
@@ -648,7 +648,7 @@ static u8 smp_cmd_pairing_rsp(struct l2cap_conn *conn, struct sk_buff *skb)
 
        auth |= (req->auth_req | rsp->auth_req) & SMP_AUTH_MITM;
 
-       ret = tk_request(conn, 0, auth, rsp->io_capability, req->io_capability);
+       ret = tk_request(conn, 0, auth, req->io_capability, rsp->io_capability);
        if (ret)
                return SMP_UNSPECIFIED;