Skip to content

Commit d7ca217

Browse files
Correctly return the tick at which the RF will be fully enabled.
Always returning 0 (when `MYNEWT_VAL_BLE_LL_RFMGMT_ENABLE_TIME` is not defined), rather than a time near to the current tick, causes an issue in at least one place: `ble_ll_adv_sm_start()`, where the calculation of `delta` overflows when the system timer is at 0x80000000 or above -- causing an incorrect, huge adjustment to be made to the scheduled time, ultimately stopping adverts from being sent.
1 parent 8a2b86d commit d7ca217

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

src/libs/mynewt-nimble/nimble/controller/include/controller/ble_ll_rfmgmt.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ static inline void ble_ll_rfmgmt_reset(void) { }
5151
static inline void ble_ll_rfmgmt_scan_changed(bool e, uint32_t n) { }
5252
static inline void ble_ll_rfmgmt_sched_changed(struct ble_ll_sched_item *f) { }
5353
static inline void ble_ll_rfmgmt_release(void) { }
54-
static inline uint32_t ble_ll_rfmgmt_enable_now(void) { return 0; }
54+
static inline uint32_t ble_ll_rfmgmt_enable_now(void) { return os_cputime_get32(); }
5555
static inline bool ble_ll_rfmgmt_is_enabled(void) { return true; }
5656

5757
#endif

0 commit comments

Comments
 (0)