From 814ea0ed8869a29ea84a5f1ac336062514781cf0 Mon Sep 17 00:00:00 2001 From: Piotr Narajowski Date: Thu, 1 Aug 2024 16:47:03 +0200 Subject: [PATCH] host: sm: ignore security request We should ignore second security request pairing has already started --- nimble/host/src/ble_sm.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/nimble/host/src/ble_sm.c b/nimble/host/src/ble_sm.c index bb1dfe0842..eed5e3638b 100644 --- a/nimble/host/src/ble_sm.c +++ b/nimble/host/src/ble_sm.c @@ -2007,6 +2007,14 @@ ble_sm_sec_req_rx(uint16_t conn_handle, struct os_mbuf **om, ble_hs_lock(); conn = ble_hs_conn_find_assert(conn_handle); + + /* Check if pairing procedure is already in progress */ + if (ble_sm_proc_find(conn_handle, BLE_SM_PROC_STATE_PAIR, 1, NULL)) { + ble_hs_unlock(); + res->app_status = 0; + return; + } + if (!(conn->bhc_flags & BLE_HS_CONN_F_MASTER)) { res->app_status = BLE_HS_SM_US_ERR(BLE_SM_ERR_CMD_NOT_SUPP); res->sm_err = BLE_SM_ERR_CMD_NOT_SUPP;