Bluetooth: Fix resetting remote authentication requirement after pairing

When a new hci_conn object is created the remote SSP authentication
requirement is set to the invalid value 0xff to indicate that it is
unknown. Once pairing completes however the code was leaving it as-is.
In case a new pairing happens over the same connection it is important
that we reset the value back to unknown so that the pairing code doesn't
make false assumptions about the requirements.

Signed-off-by: Johan Hedberg <johan.hedberg@intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
This commit is contained in:
Johan Hedberg 2014-07-17 15:14:50 +03:00 коммит произвёл Marcel Holtmann
Родитель 093facf363
Коммит c1d4fa7aa8
1 изменённых файлов: 3 добавлений и 0 удалений

Просмотреть файл

@ -3870,6 +3870,9 @@ static void hci_simple_pair_complete_evt(struct hci_dev *hdev,
if (!conn) if (!conn)
goto unlock; goto unlock;
/* Reset the authentication requirement to unknown */
conn->remote_auth = 0xff;
/* To avoid duplicate auth_failed events to user space we check /* To avoid duplicate auth_failed events to user space we check
* the HCI_CONN_AUTH_PEND flag which will be set if we * the HCI_CONN_AUTH_PEND flag which will be set if we
* initiated the authentication. A traditional auth_complete * initiated the authentication. A traditional auth_complete