diff options
Diffstat (limited to 'src/osmo-bsc/lchan_fsm.c')
-rw-r--r-- | src/osmo-bsc/lchan_fsm.c | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/src/osmo-bsc/lchan_fsm.c b/src/osmo-bsc/lchan_fsm.c index f43264410..5428d973e 100644 --- a/src/osmo-bsc/lchan_fsm.c +++ b/src/osmo-bsc/lchan_fsm.c @@ -156,14 +156,14 @@ static void lchan_on_fully_established(struct gsm_lchan *lchan) LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for assignment succeeded, but lchan has no conn:" " cannot trigger appropriate actions. Release.\n"); - lchan_release(lchan, false, false, true, RSL_ERR_EQUIPMENT_FAIL); + lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL); break; } if (!lchan->conn->assignment.fi) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for assignment succeeded, but lchan has no" " assignment ongoing: cannot trigger appropriate actions. Release.\n"); - lchan_release(lchan, false, false, true, RSL_ERR_EQUIPMENT_FAIL); + lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL); break; } osmo_fsm_inst_dispatch(lchan->conn->assignment.fi, ASSIGNMENT_EV_LCHAN_ESTABLISHED, @@ -177,14 +177,14 @@ static void lchan_on_fully_established(struct gsm_lchan *lchan) if (!lchan->conn) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for handover succeeded, but lchan has no conn\n"); - lchan_release(lchan, false, false, true, RSL_ERR_EQUIPMENT_FAIL); + lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL); break; } if (!lchan->conn->ho.fi) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for handover succeeded, but lchan has no" " handover ongoing\n"); - lchan_release(lchan, false, false, true, RSL_ERR_EQUIPMENT_FAIL); + lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL); break; } osmo_fsm_inst_dispatch(lchan->conn->ho.fi, HO_EV_LCHAN_ESTABLISHED, lchan); @@ -720,14 +720,14 @@ static void lchan_fsm_post_activ_ack(struct osmo_fsm_inst *fi) LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for assignment succeeded, but lchan has no conn:" " cannot trigger appropriate actions. Release.\n"); - lchan_release(lchan, false, false, true, RSL_ERR_EQUIPMENT_FAIL); + lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL); break; } if (!lchan->conn->assignment.fi) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for assignment succeeded, but lchan has no" " assignment ongoing: cannot trigger appropriate actions. Release.\n"); - lchan_release(lchan, false, false, true, RSL_ERR_EQUIPMENT_FAIL); + lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL); break; } /* After the Chan Activ Ack, the MS expects to receive an RR Assignment Command. @@ -740,14 +740,14 @@ static void lchan_fsm_post_activ_ack(struct osmo_fsm_inst *fi) LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for handover succeeded, but lchan has no conn:" " cannot trigger appropriate actions. Release.\n"); - lchan_release(lchan, false, false, true, RSL_ERR_EQUIPMENT_FAIL); + lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL); break; } if (!lchan->conn->ho.fi) { LOG_LCHAN(lchan, LOGL_ERROR, "lchan activation for handover succeeded, but lchan has no" " handover ongoing: cannot trigger appropriate actions. Release.\n"); - lchan_release(lchan, false, false, true, RSL_ERR_EQUIPMENT_FAIL); + lchan_release(lchan, false, true, RSL_ERR_EQUIPMENT_FAIL); break; } /* After the Chan Activ Ack of the new lchan, send the MS an RR Handover Command on the @@ -935,7 +935,7 @@ static void lchan_do_release(struct gsm_lchan *lchan) if (lchan->fi_rtp) osmo_fsm_inst_dispatch(lchan->fi_rtp, LCHAN_RTP_EV_RELEASE, 0); - if (lchan->deact_sacch && should_sacch_deact(lchan)) + if (should_sacch_deact(lchan)) rsl_deact_sacch(lchan); } @@ -1296,7 +1296,7 @@ int lchan_fsm_timer_cb(struct osmo_fsm_inst *fi) } } -void lchan_release(struct gsm_lchan *lchan, bool sacch_deact, bool do_rr_release, +void lchan_release(struct gsm_lchan *lchan, bool do_rr_release, bool err, enum gsm48_rr_cause cause_rr) { if (!lchan || !lchan->fi) @@ -1309,7 +1309,6 @@ void lchan_release(struct gsm_lchan *lchan, bool sacch_deact, bool do_rr_release struct osmo_fsm_inst *fi = lchan->fi; lchan->release_in_error = err; lchan->rsl_error_cause = cause_rr; - lchan->deact_sacch = sacch_deact; lchan->do_rr_release = do_rr_release; /* States waiting for events will notice the desire to release when done waiting, so it is enough |