From 133a3d96dc07ebda4dfc7899dab9c0d0c80c9fea Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Fri, 23 Nov 2018 16:58:13 +0100 Subject: rsl: Avoid sending ipa PDCH DEACT NACK followed by ACK It was spotted during osmo-gsm-tester test dynts:trx-sysmocell5000+mod-bts0-dynts67-ipa+cfg-codec-fr-any that osmo-bts-trx was answering to PDCH DEACT from BSC first with a NACK followed immediatelly after by an ACK. That happens after the test does a GPRS pdp ctx act successfuly and then deactivates the ctx and the 2 MS try to place a call between them (and thus channels need to be moved to TCH/F). Most probably the if condition where the lines for this commit are modified need to be fine-grained. Patch before this one should help to understand the steates/situation in this scenario, and then a follow-up patch can be created to improve the logic. Change-Id: I91c65da6b6b7094f32187d3b083153a87c3219fd --- src/common/rsl.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/common/rsl.c b/src/common/rsl.c index d4bd2f08..b4cea2cd 100644 --- a/src/common/rsl.c +++ b/src/common/rsl.c @@ -2200,11 +2200,10 @@ static void rsl_rx_dyn_pdch(struct msgb *msg, bool pdch_act) } if (lchan->state != LCHAN_S_NONE) { - LOGP(DRSL, LOGL_ERROR, + LOGP(DRSL, LOGL_NOTICE, "%s Request to PDCH %s, but lchan is still in state %s\n", gsm_ts_and_pchan_name(ts), pdch_act? "ACT" : "DEACT", gsm_lchans_name(lchan->state)); - rsl_tx_dyn_pdch_nack(lchan, pdch_act, RSL_ERR_NORMAL_UNSPEC); } ts->flags |= pdch_act? TS_F_PDCH_ACT_PENDING -- cgit v1.2.3