Bluetooth: Fix SMP confirmation callback handling
authorJohan Hedberg <johan.hedberg@intel.com>
Mon, 24 Mar 2014 12:39:05 +0000 (14:39 +0200)
committerMarcel Holtmann <marcel@holtmann.org>
Mon, 24 Mar 2014 14:51:56 +0000 (07:51 -0700)
In the case that a local pairing confirmation (JUST_CFM) has been
selected as the method we need to use the user confirm request mgmt
event for it with the confirm_hint set to 1 (to indicate confirmation
without any specific passkey value). Without this (if passkey_notify was
used) the pairing would never proceed. This patch adds the necessary
call to mgmt_user_confirm_request in this scenario.

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

index b8c3146..97e95c8 100644 (file)
@@ -422,6 +422,10 @@ static int tk_request(struct l2cap_conn *conn, u8 remote_oob, u8 auth,
        if (method == REQ_PASSKEY)
                ret = mgmt_user_passkey_request(hcon->hdev, &hcon->dst,
                                                hcon->type, hcon->dst_type);
+       else if (method == JUST_CFM)
+               ret = mgmt_user_confirm_request(hcon->hdev, &hcon->dst,
+                                               hcon->type, hcon->dst_type,
+                                               passkey, 1);
        else
                ret = mgmt_user_passkey_notify(hcon->hdev, &hcon->dst,
                                                hcon->type, hcon->dst_type,