nacc_fsm: Move logic checking if SI is being waited for to a func helper
We already have a similar function for Neighbor Address Resolution.
This way we keep as much as possible internal state related logic into
the nacc_fsm.c file.
Change-Id: I7378939825cc3ec3280f76bc51233c0a172d8a27
diff --git a/src/gprs_bssgp_rim.c b/src/gprs_bssgp_rim.c
index c19ed81..f1679a6 100644
--- a/src/gprs_bssgp_rim.c
+++ b/src/gprs_bssgp_rim.c
@@ -158,13 +158,8 @@
llist_for_each(tmp, bts_ms_list(bts)) {
struct GprsMs *ms = llist_entry(tmp, typeof(*ms), list);
- if (!ms->nacc)
- continue;
- if (ms->nacc->fi->state != NACC_ST_WAIT_REQUEST_SI)
- continue;
- if (osmo_cgi_ps_cmp(&nacc->reprt_cell, &ms->nacc->cgi_ps) != 0)
- continue;
- osmo_fsm_inst_dispatch(ms->nacc->fi, NACC_EV_RX_SI, entry);
+ if (ms->nacc && nacc_fsm_is_waiting_si_resolution(ms->nacc, &nacc->reprt_cell))
+ osmo_fsm_inst_dispatch(ms->nacc->fi, NACC_EV_RX_SI, entry);
}
return 0;
}