Bluetooth: Fix logic in hci_pin_code_request_evt
authorJohan Hedberg <johan.hedberg@nokia.com>
Thu, 28 Apr 2011 18:28:58 +0000 (11:28 -0700)
committerGustavo F. Padovan <padovan@profusion.mobi>
Thu, 28 Apr 2011 19:14:39 +0000 (16:14 -0300)
The mgmt_ev_pin_code_request event should not be sent to user space if
the request gets rejected by the kernel due to the pairable flag not
being set.

Signed-off-by: Johan Hedberg <johan.hedberg@nokia.com>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
net/bluetooth/hci_event.c

index d535ea4ccbed3c0db68d275c4cfb2e0d11750cc1..ebbaa6c8d0158528bf2188795bd0fb2c37d9d45b 100644 (file)
@@ -2035,8 +2035,7 @@ static inline void hci_pin_code_request_evt(struct hci_dev *hdev, struct sk_buff
        if (!test_bit(HCI_PAIRABLE, &hdev->flags))
                hci_send_cmd(hdev, HCI_OP_PIN_CODE_NEG_REPLY,
                                        sizeof(ev->bdaddr), &ev->bdaddr);
-
-       if (test_bit(HCI_MGMT, &hdev->flags)) {
+       else if (test_bit(HCI_MGMT, &hdev->flags)) {
                u8 secure;
 
                if (conn->pending_sec_level == BT_SECURITY_HIGH)