|
@@ -3628,8 +3628,11 @@ static void hci_user_confirm_request_evt(struct hci_dev *hdev,
|
|
|
|
|
|
/* If we're not the initiators request authorization to
|
|
/* If we're not the initiators request authorization to
|
|
* proceed from user space (mgmt_user_confirm with
|
|
* proceed from user space (mgmt_user_confirm with
|
|
- * confirm_hint set to 1). */
|
|
|
|
- if (!test_bit(HCI_CONN_AUTH_PEND, &conn->flags)) {
|
|
|
|
|
|
+ * confirm_hint set to 1). The exception is if neither
|
|
|
|
+ * side had MITM in which case we do auto-accept.
|
|
|
|
+ */
|
|
|
|
+ if (!test_bit(HCI_CONN_AUTH_PEND, &conn->flags) &&
|
|
|
|
+ (loc_mitm || rem_mitm)) {
|
|
BT_DBG("Confirming auto-accept as acceptor");
|
|
BT_DBG("Confirming auto-accept as acceptor");
|
|
confirm_hint = 1;
|
|
confirm_hint = 1;
|
|
goto confirm;
|
|
goto confirm;
|