[gsm48] Send the IPA CRCX after the chan modify ack
Change the CRCX after the channel has been modified.
diff --git a/openbsc/src/gsm_04_08_utils.c b/openbsc/src/gsm_04_08_utils.c
index b8fe430..1a0af37 100644
--- a/openbsc/src/gsm_04_08_utils.c
+++ b/openbsc/src/gsm_04_08_utils.c
@@ -599,16 +599,12 @@
if (rc < 0)
return rc;
- /* FIXME: we not only need to do this after mode modify, but
- * also after channel activation */
- if (is_ipaccess_bts(lchan->ts->trx->bts) && lchan_mode != GSM48_CMODE_SIGN)
- rc = rsl_ipacc_crcx(lchan);
-
return rc;
}
int gsm48_rx_rr_modif_ack(struct msgb *msg)
{
+ int rc;
struct gsm48_hdr *gh = msgb_l3(msg);
struct gsm48_chan_mode_modify *mod =
(struct gsm48_chan_mode_modify *) gh->data;
@@ -641,5 +637,11 @@
/* We've successfully modified the MS side of the channel,
* now go on to modify the BTS side of the channel */
- return rsl_chan_mode_modify_req(msg->lchan);
+ rc = rsl_chan_mode_modify_req(msg->lchan);
+
+ /* FIXME: we not only need to do this after mode modify, but
+ * also after channel activation */
+ if (is_ipaccess_bts(msg->lchan->ts->trx->bts) && mod->mode != GSM48_CMODE_SIGN)
+ rsl_ipacc_crcx(msg->lchan);
+ return rc;
}