diff options
author | Pau Espin Pedrol <pespin@sysmocom.de> | 2023-05-03 13:51:07 +0200 |
---|---|---|
committer | Pau Espin Pedrol <pespin@sysmocom.de> | 2023-05-04 12:03:49 +0200 |
commit | c16126317d4ec6c7d499f247d8ea836b902cedfb (patch) | |
tree | caa22be613dddc9293267ca1cd6232113daaf596 | |
parent | fbd2f733a73ffda6545705098b28684b16d4675e (diff) |
layer23: modem: grr: Log ignored CCCH ImmAss
There seems to be some bug when using virtphy where sometimes the
received T2 and/or T3 in the ImmASs is not matching what we sent.
This helps in showing the problem and not failing silently.
Change-Id: Iaecd2616733d84f35a825916fe888142800b426b
-rw-r--r-- | src/host/layer23/src/modem/grr.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/host/layer23/src/modem/grr.c b/src/host/layer23/src/modem/grr.c index b6abae5c..e2254609 100644 --- a/src/host/layer23/src/modem/grr.c +++ b/src/host/layer23/src/modem/grr.c @@ -238,17 +238,24 @@ static int grr_rx_imm_ass(struct osmocom_ms *ms, struct msgb *msg) struct osmo_gprs_rlcmac_prim *rlcmac_prim; /* Discard CS channel assignment */ - if ((ia->page_mode >> 4) == 0) + if ((ia->page_mode >> 4) == 0) { + LOGP(DRR, LOGL_INFO, "%s(): Discard CS channel assignment\n", __func__); return 0; + } - if (rr->state != GSM48_RR_ST_CONN_PEND) + if (rr->state != GSM48_RR_ST_CONN_PEND) { + LOGP(DRR, LOGL_INFO, "%s(): rr_state != GSM48_RR_ST_CONN_PEND\n", __func__); return 0; - if (!grr_match_req_ref(ms, &ia->req_ref)) + } + if (!grr_match_req_ref(ms, &ia->req_ref)) { + LOGP(DRR, LOGL_INFO, "%s(): req_ref mismatch (RA=0x%02x, T1=%u, T3=%u, T2=%u)\n", + __func__, ia->req_ref.ra, ia->req_ref.t1, + ia->req_ref.t3_high << 3 | ia->req_ref.t3_low, ia->req_ref.t2); return 0; + } if (rsl_dec_chan_nr(ia->chan_desc.chan_nr, &ch_type, &ch_subch, &ch_ts) != 0) { - LOGP(DRR, LOGL_ERROR, - "%s(): rsl_dec_chan_nr(chan_nr=0x%02x) failed\n", + LOGP(DRR, LOGL_ERROR, "%s(): rsl_dec_chan_nr(chan_nr=0x%02x) failed\n", __func__, ia->chan_desc.chan_nr); return -EINVAL; } |