aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
Diffstat (limited to 'net')
-rw-r--r--net/bluetooth/smp.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/net/bluetooth/smp.c b/net/bluetooth/smp.c
index dc575aba2e65..dbd17a07dc2e 100644
--- a/net/bluetooth/smp.c
+++ b/net/bluetooth/smp.c
@@ -1003,7 +1003,7 @@ static u8 smp_cmd_pairing_rsp(struct l2cap_conn *conn, struct sk_buff *skb)
1003 struct smp_cmd_pairing *req, *rsp = (void *) skb->data; 1003 struct smp_cmd_pairing *req, *rsp = (void *) skb->data;
1004 struct l2cap_chan *chan = conn->smp; 1004 struct l2cap_chan *chan = conn->smp;
1005 struct smp_chan *smp = chan->data; 1005 struct smp_chan *smp = chan->data;
1006 u8 key_size, auth = SMP_AUTH_NONE; 1006 u8 key_size, auth;
1007 int ret; 1007 int ret;
1008 1008
1009 BT_DBG("conn %p", conn); 1009 BT_DBG("conn %p", conn);
@@ -1044,11 +1044,7 @@ static u8 smp_cmd_pairing_rsp(struct l2cap_conn *conn, struct sk_buff *skb)
1044 */ 1044 */
1045 smp->remote_key_dist &= rsp->resp_key_dist; 1045 smp->remote_key_dist &= rsp->resp_key_dist;
1046 1046
1047 if ((req->auth_req & SMP_AUTH_BONDING) && 1047 auth = (req->auth_req | rsp->auth_req);
1048 (rsp->auth_req & SMP_AUTH_BONDING))
1049 auth = SMP_AUTH_BONDING;
1050
1051 auth |= (req->auth_req | rsp->auth_req) & SMP_AUTH_MITM;
1052 1048
1053 ret = tk_request(conn, 0, auth, req->io_capability, rsp->io_capability); 1049 ret = tk_request(conn, 0, auth, req->io_capability, rsp->io_capability);
1054 if (ret) 1050 if (ret)