|
@@ -3069,7 +3069,7 @@ static void hci_io_capa_request_evt(struct hci_dev *hdev, struct sk_buff *skb)
|
|
|
/* Change the IO capability from KeyboardDisplay
|
|
|
* to DisplayYesNo as it is not supported by BT spec. */
|
|
|
cp.capability = (conn->io_capability == 0x04) ?
|
|
|
- 0x01 : conn->io_capability;
|
|
|
+ HCI_IO_DISPLAY_YESNO : conn->io_capability;
|
|
|
conn->auth_type = hci_get_auth_req(conn);
|
|
|
cp.authentication = conn->auth_type;
|
|
|
|
|
@@ -3143,7 +3143,8 @@ static void hci_user_confirm_request_evt(struct hci_dev *hdev,
|
|
|
* request. The only exception is when we're dedicated bonding
|
|
|
* initiators (connect_cfm_cb set) since then we always have the MITM
|
|
|
* bit set. */
|
|
|
- if (!conn->connect_cfm_cb && loc_mitm && conn->remote_cap == 0x03) {
|
|
|
+ if (!conn->connect_cfm_cb && loc_mitm &&
|
|
|
+ conn->remote_cap == HCI_IO_NO_INPUT_OUTPUT) {
|
|
|
BT_DBG("Rejecting request: remote device can't provide MITM");
|
|
|
hci_send_cmd(hdev, HCI_OP_USER_CONFIRM_NEG_REPLY,
|
|
|
sizeof(ev->bdaddr), &ev->bdaddr);
|
|
@@ -3151,8 +3152,8 @@ static void hci_user_confirm_request_evt(struct hci_dev *hdev,
|
|
|
}
|
|
|
|
|
|
/* If no side requires MITM protection; auto-accept */
|
|
|
- if ((!loc_mitm || conn->remote_cap == 0x03) &&
|
|
|
- (!rem_mitm || conn->io_capability == 0x03)) {
|
|
|
+ if ((!loc_mitm || conn->remote_cap == HCI_IO_NO_INPUT_OUTPUT) &&
|
|
|
+ (!rem_mitm || conn->io_capability == HCI_IO_NO_INPUT_OUTPUT)) {
|
|
|
|
|
|
/* If we're not the initiators request authorization to
|
|
|
* proceed from user space (mgmt_user_confirm with
|