diff --git a/drivers/nble/conn.c b/drivers/nble/conn.c index 688e3f253a9..fcb29d359db 100644 --- a/drivers/nble/conn.c +++ b/drivers/nble/conn.c @@ -136,7 +136,7 @@ int bt_conn_disconnect(struct bt_conn *conn, uint8_t reason) switch (conn->state) { case BT_CONN_CONNECT: - /* TODO: Cancel connecting */ + nble_gap_cancel_connect_req(conn); return 0; case BT_CONN_CONNECTED: break; @@ -168,6 +168,16 @@ void on_nble_gap_disconnect_rsp(const struct nble_response *rsp) BT_DBG("conn %p", rsp->user_data); } +void on_nble_gap_cancel_connect_rsp(const struct nble_response *rsp) +{ + if (rsp->status) { + BT_ERR("Cancel connect failed, status %d", rsp->status); + return; + } + + BT_DBG("conn %p", rsp->user_data); +} + static inline bool bt_le_conn_params_valid(uint16_t min, uint16_t max, uint16_t latency, uint16_t timeout) {