int bt_conn_auth_passkey_entry(struct bt_conn *conn, unsigned int passkey) { if (!bt_auth) { return -EINVAL; } #if defined(CONFIG_BLUETOOTH_SMP) if (conn->type == BT_CONN_TYPE_LE) { bt_smp_auth_passkey_entry(conn, passkey); return 0; } #endif /* CONFIG_BLUETOOTH_SMP */ #if defined(CONFIG_BLUETOOTH_BREDR) if (conn->type == BT_CONN_TYPE_BR) { /* User entered passkey, reset user state. */ if (!atomic_test_and_clear_bit(conn->flags, BT_CONN_USER)) { return -EPERM; } if (conn->br.pairing_method == PASSKEY_INPUT) { return ssp_passkey_reply(conn, passkey); } } #endif /* CONFIG_BLUETOOTH_BREDR */ return -EINVAL; }
int bt_conn_auth_passkey_entry(struct bt_conn *conn, unsigned int passkey) { return bt_smp_auth_passkey_entry(conn, passkey); }