|
@@ -4693,37 +4693,33 @@ void mgmt_auth_failed(struct hci_dev *hdev, bdaddr_t *bdaddr, u8 link_type,
|
|
|
mgmt_event(MGMT_EV_AUTH_FAILED, hdev, &ev, sizeof(ev), NULL);
|
|
|
}
|
|
|
|
|
|
-int mgmt_auth_enable_complete(struct hci_dev *hdev, u8 status)
|
|
|
+void mgmt_auth_enable_complete(struct hci_dev *hdev, u8 status)
|
|
|
{
|
|
|
struct cmd_lookup match = { NULL, hdev };
|
|
|
- bool changed = false;
|
|
|
- int err = 0;
|
|
|
+ bool changed;
|
|
|
|
|
|
if (status) {
|
|
|
u8 mgmt_err = mgmt_status(status);
|
|
|
mgmt_pending_foreach(MGMT_OP_SET_LINK_SECURITY, hdev,
|
|
|
cmd_status_rsp, &mgmt_err);
|
|
|
- return 0;
|
|
|
+ return;
|
|
|
}
|
|
|
|
|
|
- if (test_bit(HCI_AUTH, &hdev->flags)) {
|
|
|
- if (!test_and_set_bit(HCI_LINK_SECURITY, &hdev->dev_flags))
|
|
|
- changed = true;
|
|
|
- } else {
|
|
|
- if (test_and_clear_bit(HCI_LINK_SECURITY, &hdev->dev_flags))
|
|
|
- changed = true;
|
|
|
- }
|
|
|
+ if (test_bit(HCI_AUTH, &hdev->flags))
|
|
|
+ changed = !test_and_set_bit(HCI_LINK_SECURITY,
|
|
|
+ &hdev->dev_flags);
|
|
|
+ else
|
|
|
+ changed = test_and_clear_bit(HCI_LINK_SECURITY,
|
|
|
+ &hdev->dev_flags);
|
|
|
|
|
|
mgmt_pending_foreach(MGMT_OP_SET_LINK_SECURITY, hdev, settings_rsp,
|
|
|
&match);
|
|
|
|
|
|
if (changed)
|
|
|
- err = new_settings(hdev, match.sk);
|
|
|
+ new_settings(hdev, match.sk);
|
|
|
|
|
|
if (match.sk)
|
|
|
sock_put(match.sk);
|
|
|
-
|
|
|
- return err;
|
|
|
}
|
|
|
|
|
|
static void clear_eir(struct hci_request *req)
|