This is an automated email from the ASF dual-hosted git repository. janc pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git
commit 8307ce6f2cf217de77c6fd34b1b1c082e02e91d6 Author: Szymon Janc <[email protected]> AuthorDate: Tue Oct 8 10:29:15 2019 +0200 nimble/ll: Reset backoff only when sending scan request Don't decrement backoff if we failed to send scan request. --- nimble/controller/src/ble_ll_scan.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/nimble/controller/src/ble_ll_scan.c b/nimble/controller/src/ble_ll_scan.c index c417a92..3ccc888 100644 --- a/nimble/controller/src/ble_ll_scan.c +++ b/nimble/controller/src/ble_ll_scan.c @@ -265,6 +265,8 @@ ble_ll_scan_ext_adv_init(struct ble_ll_aux_data **aux_data) static void ble_ll_scan_req_backoff(struct ble_ll_scan_sm *scansm, int success) { + BLE_LL_ASSERT(scansm->backoff_count == 0); + scansm->scan_rsp_pending = 0; if (success) { scansm->scan_rsp_cons_fails = 0; @@ -2467,7 +2469,10 @@ ble_ll_scan_rx_isr_end(struct os_mbuf *rxpdu, uint8_t crcok) BLE_LL_ASSERT(scansm->scan_rsp_pending == 0); /* We want to send a request. See if backoff allows us */ - --scansm->backoff_count; + if (scansm->backoff_count > 0) { + scansm->backoff_count--; + } + if (scansm->backoff_count == 0) { #if MYNEWT_VAL(BLE_LL_CFG_FEAT_LL_EXT_ADV) phy_mode = ble_ll_phy_to_phy_mode(ble_hdr->rxinfo.phy,
