diff options
author | Neels Hofmeyr <nhofmeyr@sysmocom.de> | 2016-08-23 01:22:58 +0200 |
---|---|---|
committer | Harald Welte <laforge@gnumonks.org> | 2016-09-17 09:58:54 +0000 |
commit | 2867f883a11388bb04c1a5177b279c1cc74eafe4 (patch) | |
tree | d8be4ed348ec23106fe361b83ba78ec70c484a69 /openbsc | |
parent | b3d8706bea1e0510243994cb65a3e5f9eb8d147d (diff) |
log causing rx event for lchan_lookup errors
Add log_name to lchan_lookup() and pass such from the various RSL rx events
that call it to validate the RSL chan_nr.
Change-Id: Id81e7b8b9c27831923f050a78dfc7d650e687033
Diffstat (limited to 'openbsc')
-rw-r--r-- | openbsc/src/libbsc/abis_rsl.c | 22 |
1 files changed, 14 insertions, 8 deletions
diff --git a/openbsc/src/libbsc/abis_rsl.c b/openbsc/src/libbsc/abis_rsl.c index d3d9f9e2d..dc4ede294 100644 --- a/openbsc/src/libbsc/abis_rsl.c +++ b/openbsc/src/libbsc/abis_rsl.c @@ -110,19 +110,21 @@ static inline void init_dchan_hdr(struct abis_rsl_dchan_hdr *dh, } /* call rsl_lchan_lookup and set the log context */ -static struct gsm_lchan *lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr) +static struct gsm_lchan *lchan_lookup(struct gsm_bts_trx *trx, uint8_t chan_nr, + const char *log_name) { int rc; struct gsm_lchan *lchan = rsl_lchan_lookup(trx, chan_nr, &rc); if (!lchan) { - LOGP(DRSL, LOGL_ERROR, "unknown chan_nr=0x%02x\n", chan_nr); + LOGP(DRSL, LOGL_ERROR, "%sunknown chan_nr=0x%02x\n", + log_name, chan_nr); return NULL; } if (rc < 0) - LOGP(DRSL, LOGL_ERROR, "%s mismatching chan_nr=0x%02x\n", - gsm_ts_and_pchan_name(lchan->ts), chan_nr); + LOGP(DRSL, LOGL_ERROR, "%s %smismatching chan_nr=0x%02x\n", + gsm_ts_and_pchan_name(lchan->ts), log_name, chan_nr); log_set_context(BSC_CTX_LCHAN, lchan); if (lchan->conn) @@ -1452,7 +1454,8 @@ static int abis_rsl_rx_dchan(struct msgb *msg) char *ts_name; struct e1inp_sign_link *sign_link = msg->dst; - msg->lchan = lchan_lookup(sign_link->trx, rslh->chan_nr); + msg->lchan = lchan_lookup(sign_link->trx, rslh->chan_nr, + "Abis RSL rx DCHAN: "); ts_name = gsm_lchan_name(msg->lchan); switch (rslh->c.msg_type) { @@ -1813,7 +1816,8 @@ static int abis_rsl_rx_cchan(struct msgb *msg) struct abis_rsl_dchan_hdr *rslh = msgb_l2(msg); int rc = 0; - msg->lchan = lchan_lookup(sign_link->trx, rslh->chan_nr); + msg->lchan = lchan_lookup(sign_link->trx, rslh->chan_nr, + "Abis RSL rx CCHAN: "); switch (rslh->c.msg_type) { case RSL_MT_CHAN_RQD: @@ -1914,7 +1918,8 @@ static int abis_rsl_rx_rll(struct msgb *msg) char *ts_name; uint8_t sapi = rllh->link_id & 7; - msg->lchan = lchan_lookup(sign_link->trx, rllh->chan_nr); + msg->lchan = lchan_lookup(sign_link->trx, rllh->chan_nr, + "Abis RSL rx RLL: "); ts_name = gsm_lchan_name(msg->lchan); DEBUGP(DRLL, "%s SAPI=%u ", ts_name, sapi); @@ -2308,7 +2313,8 @@ static int abis_rsl_rx_ipacc(struct msgb *msg) char *ts_name; int rc = 0; - msg->lchan = lchan_lookup(sign_link->trx, rllh->chan_nr); + msg->lchan = lchan_lookup(sign_link->trx, rllh->chan_nr, + "Abis RSL rx IPACC: "); ts_name = gsm_lchan_name(msg->lchan); switch (rllh->c.msg_type) { |