bsc_api: The rr_cause is optional, pass it as a pointer

This commit is contained in:
Holger Hans Peter Freyther 2010-11-05 10:37:17 +01:00
parent 66dcd925c6
commit 45b575fd94
3 changed files with 8 additions and 6 deletions

View File

@ -20,7 +20,7 @@ struct bsc_api {
uint8_t rr_cause, uint8_t chosen_channel,
uint8_t encr_alg_id, uint8_t speech_mode);
void (*assign_fail)(struct gsm_subscriber_connection *conn,
uint16_t rr_cause);
uint8_t cause, uint8_t *rr_cause);
int (*clear_request)(struct gsm_subscriber_connection *conn,
uint32_t cause);
};

View File

@ -45,7 +45,8 @@ static void bsc_assign_compl(struct gsm_subscriber_connection *conn, uint8_t rr_
{
}
static void bsc_assign_fail(struct gsm_subscriber_connection *conn, uint32_t cause)
static void bsc_assign_fail(struct gsm_subscriber_connection *conn,
uint8_t cause, uint8_t *rr_cause)
{
}

View File

@ -203,7 +203,7 @@ int gsm0808_assign_req(struct gsm_subscriber_connection *conn, int chan_type, in
struct bsc_api *api;
api = conn->bts->network->bsc_api;
api->assign_fail(conn, 0);
api->assign_fail(conn, 0, NULL);
return 0;
}
@ -263,10 +263,11 @@ static void dispatch_dtap(struct gsm_subscriber_connection *conn,
break;
case GSM48_MT_RR_CHAN_MODE_MODIF_ACK:
rc = gsm48_rx_rr_modif_ack(msg);
if (rc < 0 && api->assign_fail)
if (rc < 0 && api->assign_fail) {
api->assign_fail(conn,
GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE);
else if (rc >= 0 && api->assign_compl)
GSM0808_CAUSE_NO_RADIO_RESOURCE_AVAILABLE,
NULL);
} else if (rc >= 0 && api->assign_compl)
api->assign_compl(conn, 0,
lchan_to_chosen_channel(conn->lchan),
conn->lchan->encr.alg_id,