 
            fixeria has submitted this change. ( https://gerrit.osmocom.org/c/osmocom-bb/+/32502 )
Change subject: virt_phy: fix bogous TDMA Fn check in l1ctl_rx_gprs_ul_block_req() ......................................................................
virt_phy: fix bogous TDMA Fn check in l1ctl_rx_gprs_ul_block_req()
sched_fn_ul() does not support RSL_CHAN_OSMO_PDCH, so it would always return the current time, which in most cases is not the correct time for scheduling a block. Actually, we don't really need this function because the Tx Fn is provided to us by the upper layers - just use it.
Change-Id: Ieb2c819db1ef9377680866989cbb754fac5e45bd Related: OS#5500 --- M src/host/virt_phy/src/virt_prim_pdch.c 1 file changed, 16 insertions(+), 11 deletions(-)
Approvals: Jenkins Builder: Verified pespin: Looks good to me, approved
diff --git a/src/host/virt_phy/src/virt_prim_pdch.c b/src/host/virt_phy/src/virt_prim_pdch.c index 2cb3efd..65551d3 100644 --- a/src/host/virt_phy/src/virt_prim_pdch.c +++ b/src/host/virt_phy/src/virt_prim_pdch.c @@ -52,7 +52,6 @@ { const struct l1ctl_hdr *l1h = (struct l1ctl_hdr *)msg->data; struct l1gprs_prim_ul_block_req req; - uint32_t fn_sched;
if (OSMO_UNLIKELY(ms->gprs == NULL)) { LOGPMS(DL1P, LOGL_ERROR, ms, "l1gprs is not initialized\n"); @@ -67,16 +66,7 @@ } msg->l2h = (void *)&req.data[0];
- fn_sched = sched_fn_ul(ms->state.current_time, - RSL_CHAN_OSMO_PDCH | req.hdr.tn, 0x00); - if (OSMO_UNLIKELY(fn_sched != req.hdr.fn)) { - LOGPMS(DL1P, LOGL_ERROR, ms, - "GPRS UL BLOCK.req: fn_sched(%u) != fn_req(%u)\n", - fn_sched, req.hdr.fn); - /* FIXME: msgb_free(msg); return; */ - } - - virt_l1_sched_schedule(ms, msg, fn_sched, req.hdr.tn, + virt_l1_sched_schedule(ms, msg, req.hdr.fn, req.hdr.tn, &gsmtapl1_tx_to_virt_um_inst); }
