Bluetooth: Fix setting initial local auth_req value
authorJohan Hedberg <johan.hedberg@intel.com>
Tue, 20 May 2014 06:45:48 +0000 (09:45 +0300)
committerMarcel Holtmann <marcel@holtmann.org>
Tue, 20 May 2014 15:44:12 +0000 (08:44 -0700)
There is no reason to have the initial local value conditional to
whether the remote value has bonding set or not. We can either way start
off with the value we received.

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

index df91ed28084f1f04f4d68b24566748911e856fda..72743f87b22f62240ec2e2ae6df2f79f0db48446 100644 (file)
@@ -685,8 +685,7 @@ static u8 smp_cmd_pairing_req(struct l2cap_conn *conn, struct sk_buff *skb)
 {
        struct smp_cmd_pairing rsp, *req = (void *) skb->data;
        struct smp_chan *smp;
-       u8 key_size;
-       u8 auth = SMP_AUTH_NONE;
+       u8 key_size, auth;
        int ret;
 
        BT_DBG("conn %p", conn);
@@ -710,8 +709,7 @@ static u8 smp_cmd_pairing_req(struct l2cap_conn *conn, struct sk_buff *skb)
        skb_pull(skb, sizeof(*req));
 
        /* We didn't start the pairing, so match remote */
-       if (req->auth_req & SMP_AUTH_BONDING)
-               auth = req->auth_req;
+       auth = req->auth_req;
 
        conn->hcon->pending_sec_level = authreq_to_seclevel(auth);