nimble/ll: Fix build with clang 11 on mac

Looks like clang is not able to track relation between max_delay and
calc_sch which are involve two separate if-else blocks.

This is false positive.

repos/apache-mynewt-nimble/nimble/controller/src/ble_ll_sched.c:568:9:
    error: variable 'max_delay' is used uninitialized whenever 'if' condition
        is false [-Werror,-Wsometimes-uninitialized]
    if (calc_sch) {
        ^~~~~~~~
repos/apache-mynewt-nimble/nimble/controller/src/ble_ll_sched.c:586:35:
    note: uninitialized use occurs here
    rc = ble_ll_sched_insert(sch, max_delay, preempt_none);
                                  ^~~~~~~~~
repos/apache-mynewt-nimble/nimble/controller/src/ble_ll_sched.c:568:5:
    note: remove the 'if' if its condition is always true
    if (calc_sch) {
    ^~~~~~~~~~~~~~
repos/apache-mynewt-nimble/nimble/controller/src/ble_ll_sched.c:431:23:
    note: initialize the variable 'max_delay' to silence this warning
    uint32_t max_delay;
                      ^
                       = 0
This commit is contained in:
Szymon Janc
2024-10-30 09:56:47 +01:00
parent 530f8b98da
commit b1ec600f75
+1 -2
View File
@@ -428,7 +428,7 @@ ble_ll_sched_conn_central_new(struct ble_ll_conn_sm *connsm,
uint32_t orig_start_time;
uint32_t earliest_start = 0;
uint32_t min_win_offset;
uint32_t max_delay;
uint32_t max_delay = 0;
uint32_t adv_rxend;
bool calc_sch = true;
os_sr_t sr;
@@ -536,7 +536,6 @@ ble_ll_sched_conn_central_new(struct ble_ll_conn_sm *connsm,
} else {
connsm->css_period_idx = css->period_anchor_idx;
}
max_delay = 0;
}
/* Calculate anchor point and move to next period if scheduled too