Merge branch 'holger/merge-on-waves-msc'
This commit is contained in:
commit
830b188a59
|
@ -131,6 +131,11 @@ struct gsm_loc_updating_operation {
|
|||
#define MAX_A5_KEY_LEN (128/8)
|
||||
#define RSL_ENC_ALG_A5(x) (x+1)
|
||||
|
||||
/* is the data link established? who established it? */
|
||||
#define LCHAN_SAPI_UNUSED 0
|
||||
#define LCHAN_SAPI_MS 1
|
||||
#define LCHAN_SAPI_NET 2
|
||||
|
||||
struct gsm_lchan {
|
||||
/* The TS that we're part of */
|
||||
struct gsm_bts_trx_ts *ts;
|
||||
|
@ -160,6 +165,9 @@ struct gsm_lchan {
|
|||
|
||||
struct timer_list T3101;
|
||||
|
||||
/* Established data link layer services */
|
||||
u_int8_t sapis[8];
|
||||
|
||||
/*
|
||||
* Operations that have a state and might be pending
|
||||
*/
|
||||
|
|
|
@ -1294,6 +1294,7 @@ static int abis_rsl_rx_rll(struct msgb *msg)
|
|||
case RSL_MT_EST_IND:
|
||||
DEBUGPC(DRLL, "ESTABLISH INDICATION\n");
|
||||
/* lchan is established, stop T3101 */
|
||||
msg->lchan->sapis[rllh->link_id & 0x7] = LCHAN_SAPI_MS;
|
||||
bsc_del_timer(&msg->lchan->T3101);
|
||||
if (msgb_l2len(msg) >
|
||||
sizeof(struct abis_rsl_common_hdr) + sizeof(*rllh) &&
|
||||
|
@ -1304,12 +1305,14 @@ static int abis_rsl_rx_rll(struct msgb *msg)
|
|||
break;
|
||||
case RSL_MT_EST_CONF:
|
||||
DEBUGPC(DRLL, "ESTABLISH CONFIRM\n");
|
||||
msg->lchan->sapis[rllh->link_id & 0x7] = LCHAN_SAPI_NET;
|
||||
rll_indication(msg->lchan, rllh->link_id,
|
||||
BSC_RLLR_IND_EST_CONF);
|
||||
break;
|
||||
case RSL_MT_REL_IND:
|
||||
/* BTS informs us of having received DISC from MS */
|
||||
DEBUGPC(DRLL, "RELEASE INDICATION\n");
|
||||
msg->lchan->sapis[rllh->link_id & 0x7] = LCHAN_SAPI_UNUSED;
|
||||
rll_indication(msg->lchan, rllh->link_id,
|
||||
BSC_RLLR_IND_REL_IND);
|
||||
/* we can now releae the channel on the BTS/Abis side */
|
||||
|
@ -1321,6 +1324,7 @@ static int abis_rsl_rx_rll(struct msgb *msg)
|
|||
/* BTS informs us of having received UA from MS,
|
||||
* in response to DISC that we've sent earlier */
|
||||
DEBUGPC(DRLL, "RELEASE CONFIRMATION\n");
|
||||
msg->lchan->sapis[rllh->link_id & 0x7] = LCHAN_SAPI_UNUSED;
|
||||
/* we can now releae the channel on the BTS/Abis side */
|
||||
/* FIXME: officially we need to start T3111 and wait for
|
||||
* some grace period */
|
||||
|
|
|
@ -212,6 +212,9 @@ struct gsm_lchan *lchan_alloc(struct gsm_bts *bts, enum gsm_chan_t type)
|
|||
lchan->type = type;
|
||||
lchan->use_count = 0;
|
||||
|
||||
/* clear sapis */
|
||||
memset(lchan->sapis, 0, sizeof(lchan->sapis));
|
||||
|
||||
/* Configure the time and start it so it will be closed */
|
||||
lchan->release_timer.cb = auto_release_channel;
|
||||
lchan->release_timer.data = lchan;
|
||||
|
|
Loading…
Reference in New Issue