aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-02-09 01:49:01 +0100
committerHarald Welte <laforge@gnumonks.org>2018-02-09 02:22:22 +0100
commit1f477442dd508a01d8d6bc64e9ed593ba5fddb3f (patch)
treeee45c73c3e4a44393f8bc5e7e26a773f5b1f3314
parentc9e785931113483f4a1588bc9136e96ca36a629b (diff)
Introduce new BSSAP logging category/subsystem
Having all BSSAP related logs in the "DMSC" category is overly generic, and dosn't provide useful granularity. Change-Id: Id1e52dad03840dfd026fb23f3845a8771c8cc308
-rw-r--r--include/osmocom/msc/a_iface.h4
-rw-r--r--include/osmocom/msc/debug.h1
-rw-r--r--src/libcommon/debug.c6
-rw-r--r--src/libmsc/a_iface.c38
-rw-r--r--src/libmsc/a_iface_bssap.c42
5 files changed, 49 insertions, 42 deletions
diff --git a/include/osmocom/msc/a_iface.h b/include/osmocom/msc/a_iface.h
index 9133e1b6b..3098b514d 100644
--- a/include/osmocom/msc/a_iface.h
+++ b/include/osmocom/msc/a_iface.h
@@ -26,12 +26,12 @@
#include <osmocom/gsm/protocol/gsm_08_08.h>
#define LOGPCONN(conn, level, fmt, args...) \
- LOGP(DMSC, level, "(subscr %s, conn_id %d) " fmt, \
+ LOGP(DBSSAP, level, "(subscr %s, conn_id %d) " fmt, \
vlr_subscr_name(conn ? conn->vsub : NULL), conn ? conn->a.conn_id : -1, \
## args)
#define LOGPBSCCONN(conn, level, fmt, args...) \
- LOGP(DMSC, level, "(conn_id %u) " fmt, conn ? conn->conn_id : (uint32_t)(-1), ## args)
+ LOGP(DBSSAP, level, "(conn_id %u) " fmt, conn ? conn->conn_id : (uint32_t)(-1), ## args)
/* A struct to keep a context information about the BSCs we are associated with */
struct bsc_context {
diff --git a/include/osmocom/msc/debug.h b/include/osmocom/msc/debug.h
index f99dba57b..384453e78 100644
--- a/include/osmocom/msc/debug.h
+++ b/include/osmocom/msc/debug.h
@@ -24,6 +24,7 @@ enum {
DRANAP,
DVLR,
DIUCS,
+ DBSSAP,
Debug_LastEntry,
};
diff --git a/src/libcommon/debug.c b/src/libcommon/debug.c
index 8c0e7875e..fbdab8020 100644
--- a/src/libcommon/debug.c
+++ b/src/libcommon/debug.c
@@ -122,6 +122,12 @@ static const struct log_info_cat default_categories[] = {
.description = "Iu-CS Protocol",
.enabled = 1, .loglevel = LOGL_DEBUG,
},
+ [DBSSAP] = {
+ .name = "DBSSAP",
+ .description = "BSSAP Protocol (A Interface)",
+ .enabled = 1, .loglevel = LOGL_NOTICE,
+ },
+
};
static int filter_fn(const struct log_context *ctx, struct log_target *tar)
diff --git a/src/libmsc/a_iface.c b/src/libmsc/a_iface.c
index 5605ad1a6..e2fe3c6b9 100644
--- a/src/libmsc/a_iface.c
+++ b/src/libmsc/a_iface.c
@@ -134,7 +134,7 @@ static struct bsc_context *get_bsc_context_by_sccp_addr(const struct osmo_sccp_a
ss7 = osmo_ss7_instance_find(gsm_network->a.cs7_instance);
OSMO_ASSERT(ss7);
- LOGP(DMSC, LOGL_NOTICE, "The calling BSC (%s) is unknown to this MSC ...\n",
+ LOGP(DBSSAP, LOGL_NOTICE, "The calling BSC (%s) is unknown to this MSC ...\n",
osmo_sccp_addr_name(ss7, addr));
return NULL;
}
@@ -182,7 +182,7 @@ int a_iface_tx_cipher_mode(const struct gsm_subscriber_connection *conn,
OSMO_ASSERT(conn);
LOGPCONN(conn, LOGL_DEBUG, "Tx BSSMAP CIPHER MODE COMMAND to BSC, %u ciphers (%s)",
ei->perm_algo_len, osmo_hexdump_nospc(ei->perm_algo, ei->perm_algo_len));
- LOGPC(DMSC, LOGL_DEBUG, " key %s\n", osmo_hexdump_nospc(ei->key, ei->key_len));
+ LOGPC(DBSSAP, LOGL_DEBUG, " key %s\n", osmo_hexdump_nospc(ei->key, ei->key_len));
msg_resp = gsm0808_create_cipher(ei, include_imeisv ? &crm : NULL);
LOGPCONN(conn, LOGL_DEBUG, "N-DATA.req(%s)\n", msgb_hexdump_l2(msg_resp));
@@ -211,7 +211,7 @@ int a_iface_tx_paging(const char *imsi, uint32_t tmsi, uint16_t lac)
/* Deliver paging request to all known BSCs */
llist_for_each_entry(bsc_ctx, &gsm_network->a.bscs, list) {
if (a_reset_conn_ready(bsc_ctx->reset)) {
- LOGP(DMSC, LOGL_DEBUG,
+ LOGP(DBSSAP, LOGL_DEBUG,
"Tx BSSMAP paging message from MSC %s to BSC %s (imsi=%s, tmsi=0x%08x, lac=%u)\n",
osmo_sccp_addr_name(ss7, &bsc_ctx->msc_addr),
osmo_sccp_addr_name(ss7, &bsc_ctx->bsc_addr), imsi, tmsi, lac);
@@ -220,7 +220,7 @@ int a_iface_tx_paging(const char *imsi, uint32_t tmsi, uint16_t lac)
&bsc_ctx->msc_addr, &bsc_ctx->bsc_addr, msg);
page_count++;
} else {
- LOGP(DMSC, LOGL_DEBUG,
+ LOGP(DBSSAP, LOGL_DEBUG,
"Connection down, dropping paging from MSC %s to BSC %s (imsi=%s, tmsi=0x%08x, lac=%u)\n",
osmo_sccp_addr_name(ss7, &bsc_ctx->msc_addr),
osmo_sccp_addr_name(ss7, &bsc_ctx->bsc_addr), imsi, tmsi, lac);
@@ -228,7 +228,7 @@ int a_iface_tx_paging(const char *imsi, uint32_t tmsi, uint16_t lac)
}
if (page_count <= 0)
- LOGP(DMSC, LOGL_ERROR, "Could not deliver paging because none of the associated BSCs is available!\n");
+ LOGP(DBSSAP, LOGL_ERROR, "Could not deliver paging because none of the associated BSCs is available!\n");
return page_count;
}
@@ -265,7 +265,7 @@ static uint8_t convert_Abis_sv_to_A_sv(int speech_ver)
}
/* If nothing matches, tag the result as invalid */
- LOGP(DMSC, LOGL_ERROR, "Invalid permitted speech version: %d\n", speech_ver);
+ LOGP(DBSSAP, LOGL_ERROR, "Invalid permitted speech version: %d\n", speech_ver);
return 0xFF;
}
@@ -288,7 +288,7 @@ static uint8_t convert_Abis_prev_to_A_pref(int radio)
return GSM0808_SPEECH_HALF_PREF;
}
- LOGP(DMSC, LOGL_ERROR, "Invalid radio channel preference: %d; defaulting to full rate.\n",
+ LOGP(DBSSAP, LOGL_ERROR, "Invalid radio channel preference: %d; defaulting to full rate.\n",
radio);
return GSM0808_SPEECH_FULL_BM;
}
@@ -440,7 +440,7 @@ static void a_reset_cb(const void *priv)
/* Send reset to the remote BSC */
ss7 = osmo_ss7_instance_find(gsm_network->a.cs7_instance);
OSMO_ASSERT(ss7);
- LOGP(DMSC, LOGL_NOTICE, "Tx BSSMAP RESET to BSC %s\n", osmo_sccp_addr_name(ss7, &bsc_ctx->bsc_addr));
+ LOGP(DBSSAP, LOGL_NOTICE, "Tx BSSMAP RESET to BSC %s\n", osmo_sccp_addr_name(ss7, &bsc_ctx->bsc_addr));
msg = gsm0808_create_reset();
osmo_sccp_tx_unitdata_msg(bsc_ctx->sccp_user, &bsc_ctx->msc_addr,
&bsc_ctx->bsc_addr, msg);
@@ -455,7 +455,7 @@ static struct bsc_context *add_bsc(const struct osmo_sccp_addr *msc_addr,
ss7 = osmo_ss7_instance_find(gsm_network->a.cs7_instance);
OSMO_ASSERT(ss7);
- LOGP(DMSC, LOGL_NOTICE, "Adding new BSC connection for BSC %s...\n", osmo_sccp_addr_name(ss7, bsc_addr));
+ LOGP(DBSSAP, LOGL_NOTICE, "Adding new BSC connection for BSC %s...\n", osmo_sccp_addr_name(ss7, bsc_addr));
/* Generate and fill up a new bsc context */
bsc_ctx = talloc_zero(gsm_network, struct bsc_context);
@@ -520,7 +520,7 @@ static int sccp_sap_up(struct osmo_prim_hdr *oph, void *_scu)
} else {
/* This BSC is already known to us, check if we have been through reset yet */
if (a_reset_conn_ready(a_conn_info.bsc->reset) == false) {
- LOGP(DMSC, LOGL_NOTICE, "Refusing N-CONNECT.ind(%u, %s), BSC not reset yet\n",
+ LOGP(DBSSAP, LOGL_NOTICE, "Refusing N-CONNECT.ind(%u, %s), BSC not reset yet\n",
scu_prim->u.connect.conn_id, msgb_hexdump_l2(oph->msg));
rc = osmo_sccp_tx_disconn(scu, a_conn_info.conn_id, &a_conn_info.bsc->msc_addr,
SCCP_RETURN_CAUSE_UNQUALIFIED);
@@ -529,11 +529,11 @@ static int sccp_sap_up(struct osmo_prim_hdr *oph, void *_scu)
osmo_sccp_tx_conn_resp(scu, scu_prim->u.connect.conn_id, &scu_prim->u.connect.called_addr, NULL, 0);
if (msgb_l2len(oph->msg) > 0) {
- LOGP(DMSC, LOGL_DEBUG, "N-CONNECT.ind(%u, %s)\n",
+ LOGP(DBSSAP, LOGL_DEBUG, "N-CONNECT.ind(%u, %s)\n",
scu_prim->u.connect.conn_id, msgb_hexdump_l2(oph->msg));
rc = a_sccp_rx_dt(scu, &a_conn_info, oph->msg);
} else
- LOGP(DMSC, LOGL_DEBUG, "N-CONNECT.ind(%u)\n", scu_prim->u.connect.conn_id);
+ LOGP(DBSSAP, LOGL_DEBUG, "N-CONNECT.ind(%u)\n", scu_prim->u.connect.conn_id);
record_bsc_con(scu, a_conn_info.bsc, scu_prim->u.connect.conn_id);
}
@@ -543,13 +543,13 @@ static int sccp_sap_up(struct osmo_prim_hdr *oph, void *_scu)
/* Handle incoming connection oriented data */
bsc_con = find_bsc_con(scu_prim->u.data.conn_id);
if (!bsc_con) {
- LOGP(DMSC, LOGL_ERROR, "N-DATA.ind(%u, %s) for unknown conn_id\n",
+ LOGP(DBSSAP, LOGL_ERROR, "N-DATA.ind(%u, %s) for unknown conn_id\n",
scu_prim->u.data.conn_id, msgb_hexdump_l2(oph->msg));
break;
}
a_conn_info.conn_id = scu_prim->u.data.conn_id;
a_conn_info.bsc = bsc_con->bsc;
- LOGP(DMSC, LOGL_DEBUG, "N-DATA.ind(%u, %s)\n",
+ LOGP(DBSSAP, LOGL_DEBUG, "N-DATA.ind(%u, %s)\n",
scu_prim->u.data.conn_id, msgb_hexdump_l2(oph->msg));
a_sccp_rx_dt(scu, &a_conn_info, oph->msg);
break;
@@ -563,7 +563,7 @@ static int sccp_sap_up(struct osmo_prim_hdr *oph, void *_scu)
&scu_prim->u.unitdata.calling_addr, scu);
/* if this not an inbound RESET, trigger an outbound RESET */
if (!bssmap_is_reset(oph->msg)) {
- LOGP(DMSC, LOGL_NOTICE, "Ignoring N-UNITDATA.ind(%s), BSC not reset yet\n",
+ LOGP(DBSSAP, LOGL_NOTICE, "Ignoring N-UNITDATA.ind(%s), BSC not reset yet\n",
msgb_hexdump_l2(oph->msg));
a_start_reset(a_conn_info.bsc, false);
break;
@@ -571,17 +571,17 @@ static int sccp_sap_up(struct osmo_prim_hdr *oph, void *_scu)
} else {
/* This BSC is already known to us, check if we have been through reset yet */
if (a_reset_conn_ready(a_conn_info.bsc->reset) == false) {
- LOGP(DMSC, LOGL_NOTICE, "Ignoring N-UNITDATA.ind(%s), BSC not reset yet\n",
+ LOGP(DBSSAP, LOGL_NOTICE, "Ignoring N-UNITDATA.ind(%s), BSC not reset yet\n",
msgb_hexdump_l2(oph->msg));
break;
}
}
- DEBUGP(DMSC, "N-UNITDATA.ind(%s)\n", msgb_hexdump_l2(oph->msg));
+ DEBUGP(DBSSAP, "N-UNITDATA.ind(%s)\n", msgb_hexdump_l2(oph->msg));
a_sccp_rx_udt(scu, &a_conn_info, oph->msg);
break;
default:
- LOGP(DMSC, LOGL_ERROR, "Unhandled SIGTRAN operation %s on primitive %u\n",
+ LOGP(DBSSAP, LOGL_ERROR, "Unhandled SIGTRAN operation %s on primitive %u\n",
get_value_string(osmo_prim_op_names, oph->operation), oph->primitive);
break;
}
@@ -623,7 +623,7 @@ int a_init(struct osmo_sccp_instance *sccp, struct gsm_network *network)
OSMO_ASSERT(network);
/* FIXME: Remove hardcoded parameters, use parameters in parameter list */
- LOGP(DMSC, LOGL_NOTICE, "Initalizing SCCP connection to stp...\n");
+ LOGP(DBSSAP, LOGL_NOTICE, "Initalizing SCCP connection to stp...\n");
/* Set GSM network variable, there can only be
* one network by design */
diff --git a/src/libmsc/a_iface_bssap.c b/src/libmsc/a_iface_bssap.c
index 61e1d4ec6..01cb71d85 100644
--- a/src/libmsc/a_iface_bssap.c
+++ b/src/libmsc/a_iface_bssap.c
@@ -111,7 +111,7 @@ static void bssmap_rx_reset(struct osmo_sccp_user *scu, const struct a_conn_info
ss7 = osmo_ss7_instance_find(network->a.cs7_instance);
OSMO_ASSERT(ss7);
- LOGP(DMSC, LOGL_NOTICE, "Rx BSSMAP RESET from BSC %s, sending RESET ACK\n",
+ LOGP(DBSSAP, LOGL_NOTICE, "Rx BSSMAP RESET from BSC %s, sending RESET ACK\n",
osmo_sccp_addr_name(ss7, &a_conn_info->bsc->bsc_addr));
osmo_sccp_tx_unitdata_msg(scu, &a_conn_info->bsc->msc_addr, &a_conn_info->bsc->bsc_addr,
gsm0808_create_reset_ack());
@@ -137,12 +137,12 @@ static void bssmap_rx_reset_ack(const struct osmo_sccp_user *scu, const struct a
OSMO_ASSERT(ss7);
if (a_conn_info->bsc->reset == NULL) {
- LOGP(DMSC, LOGL_ERROR, "Received RESET ACK from an unknown BSC %s, ignoring...\n",
+ LOGP(DBSSAP, LOGL_ERROR, "Received RESET ACK from an unknown BSC %s, ignoring...\n",
osmo_sccp_addr_name(ss7, &a_conn_info->bsc->bsc_addr));
goto fail;
}
- LOGP(DMSC, LOGL_NOTICE, "Received RESET ACK from BSC %s\n",
+ LOGP(DBSSAP, LOGL_NOTICE, "Received RESET ACK from BSC %s\n",
osmo_sccp_addr_name(ss7, &a_conn_info->bsc->bsc_addr));
/* Confirm that we managed to get the reset ack message
@@ -160,12 +160,12 @@ static void bssmap_rcvmsg_udt(struct osmo_sccp_user *scu, const struct a_conn_in
* can be received via UNITDATA */
if (msgb_l3len(msg) < 1) {
- LOGP(DMSC, LOGL_NOTICE, "Error: No data received -- discarding message!\n");
+ LOGP(DBSSAP, LOGL_NOTICE, "Error: No data received -- discarding message!\n");
msgb_free(msg);
return;
}
- LOGP(DMSC, LOGL_DEBUG, "Rx BSSMAP UDT %s\n", gsm0808_bssmap_name(msg->l3h[0]));
+ LOGP(DBSSAP, LOGL_DEBUG, "Rx BSSMAP UDT %s\n", gsm0808_bssmap_name(msg->l3h[0]));
switch (msg->l3h[0]) {
case BSS_MAP_MSG_RESET:
@@ -175,7 +175,7 @@ static void bssmap_rcvmsg_udt(struct osmo_sccp_user *scu, const struct a_conn_in
bssmap_rx_reset_ack(scu, a_conn_info, msg);
break;
default:
- LOGP(DMSC, LOGL_NOTICE, "Unimplemented message format: %s -- message discarded!\n",
+ LOGP(DBSSAP, LOGL_NOTICE, "Unimplemented message format: %s -- message discarded!\n",
gsm0808_bssmap_name(msg->l3h[0]));
msgb_free(msg);
}
@@ -192,17 +192,17 @@ void a_sccp_rx_udt(struct osmo_sccp_user *scu, const struct a_conn_info *a_conn_
OSMO_ASSERT(a_conn_info);
OSMO_ASSERT(msg);
- LOGP(DMSC, LOGL_DEBUG, "Rx BSSMAP UDT: %s\n", msgb_hexdump_l2(msg));
+ LOGP(DBSSAP, LOGL_DEBUG, "Rx BSSMAP UDT: %s\n", msgb_hexdump_l2(msg));
if (msgb_l2len(msg) < sizeof(*bs)) {
- LOGP(DMSC, LOGL_ERROR, "Error: Header is too short -- discarding message!\n");
+ LOGP(DBSSAP, LOGL_ERROR, "Error: Header is too short -- discarding message!\n");
msgb_free(msg);
return;
}
bs = (struct bssmap_header *)msgb_l2(msg);
if (bs->length < msgb_l2len(msg) - sizeof(*bs)) {
- LOGP(DMSC, LOGL_ERROR, "Error: Message is too short -- discarding message!\n");
+ LOGP(DBSSAP, LOGL_ERROR, "Error: Message is too short -- discarding message!\n");
msgb_free(msg);
return;
}
@@ -213,7 +213,7 @@ void a_sccp_rx_udt(struct osmo_sccp_user *scu, const struct a_conn_info *a_conn_
bssmap_rcvmsg_udt(scu, a_conn_info, msg);
break;
default:
- LOGP(DMSC, LOGL_ERROR,
+ LOGP(DBSSAP, LOGL_ERROR,
"Error: Unimplemented message type: %s -- message discarded!\n", gsm0808_bssmap_name(bs->type));
msgb_free(msg);
}
@@ -235,7 +235,7 @@ static int bssmap_rx_clear_rqst(struct gsm_subscriber_connection *conn, struct m
tlv_parse(&tp, gsm0808_att_tlvdef(), msg->l3h + 1, msgb_l3len(msg) - 1, 0, 0);
if (!TLVP_PRESENT(&tp, GSM0808_IE_CAUSE)) {
- LOGP(DMSC, LOGL_ERROR, "Cause code is missing -- discarding message!\n");
+ LOGP(DBSSAP, LOGL_ERROR, "Cause code is missing -- discarding message!\n");
goto fail;
}
cause = TLVP_VAL(&tp, GSM0808_IE_CAUSE)[0];
@@ -289,15 +289,15 @@ static int bssmap_rx_l3_compl(struct osmo_sccp_user *scu, const struct a_conn_in
struct gsm_network *network = a_conn_info->network;
struct gsm_subscriber_connection *conn;
- LOGP(DMSC, LOGL_INFO, "Rx BSSMAP COMPLETE L3 INFO (conn_id=%i)\n", a_conn_info->conn_id);
+ LOGP(DBSSAP, LOGL_INFO, "Rx BSSMAP COMPLETE L3 INFO (conn_id=%i)\n", a_conn_info->conn_id);
tlv_parse(&tp, gsm0808_att_tlvdef(), msg->l3h + 1, msgb_l3len(msg) - 1, 0, 0);
if (!TLVP_PRESENT(&tp, GSM0808_IE_CELL_IDENTIFIER)) {
- LOGP(DMSC, LOGL_ERROR, "Mandatory CELL IDENTIFIER not present -- discarding message!\n");
+ LOGP(DBSSAP, LOGL_ERROR, "Mandatory CELL IDENTIFIER not present -- discarding message!\n");
goto fail;
}
if (!TLVP_PRESENT(&tp, GSM0808_IE_LAYER_3_INFORMATION)) {
- LOGP(DMSC, LOGL_ERROR, "Mandatory LAYER 3 INFORMATION not present -- discarding message!\n");
+ LOGP(DBSSAP, LOGL_ERROR, "Mandatory LAYER 3 INFORMATION not present -- discarding message!\n");
goto fail;
}
@@ -308,18 +308,18 @@ static int bssmap_rx_l3_compl(struct osmo_sccp_user *scu, const struct a_conn_in
data_length = TLVP_LEN(&tp, GSM0808_IE_CELL_IDENTIFIER);
data = TLVP_VAL(&tp, GSM0808_IE_CELL_IDENTIFIER);
if (sizeof(lai_ci) != data_length) {
- LOGP(DMSC, LOGL_ERROR,
+ LOGP(DBSSAP, LOGL_ERROR,
"Unable to parse element CELL IDENTIFIER (wrong field length) -- discarding message!\n");
goto fail;
}
memcpy(&lai_ci, data, sizeof(lai_ci));
if (lai_ci.ident != CELL_IDENT_WHOLE_GLOBAL) {
- LOGP(DMSC, LOGL_ERROR,
+ LOGP(DBSSAP, LOGL_ERROR,
"Unable to parse element CELL IDENTIFIER (wrong cell identification discriminator) -- discarding message!\n");
goto fail;
}
if (gsm48_decode_lai(&lai_ci.lai, &mcc, &mnc, &lac) != 0) {
- LOGP(DMSC, LOGL_ERROR,
+ LOGP(DBSSAP, LOGL_ERROR,
"Unable to parse element CELL IDENTIFIER (lai decoding failed) -- discarding message!\n");
goto fail;
}
@@ -580,7 +580,7 @@ static int rx_bssmap(struct osmo_sccp_user *scu, const struct a_conn_info *a_con
struct gsm_subscriber_connection *conn;
if (msgb_l3len(msg) < 1) {
- LOGP(DMSC, LOGL_NOTICE, "Error: No data received -- discarding message!\n");
+ LOGP(DBSSAP, LOGL_NOTICE, "Error: No data received -- discarding message!\n");
msgb_free(msg);
return -1;
}
@@ -597,7 +597,7 @@ static int rx_bssmap(struct osmo_sccp_user *scu, const struct a_conn_info *a_con
conn = subscr_conn_lookup_a(a_conn_info->network, a_conn_info->conn_id);
if (!conn) {
- LOGP(DMSC, LOGL_ERROR, "Couldn't find subscr_conn for conn_id=%d\n", a_conn_info->conn_id);
+ LOGP(DBSSAP, LOGL_ERROR, "Couldn't find subscr_conn for conn_id=%d\n", a_conn_info->conn_id);
msgb_free(msg);
return -EINVAL;
}
@@ -660,7 +660,7 @@ int a_sccp_rx_dt(struct osmo_sccp_user *scu, const struct a_conn_info *a_conn_in
OSMO_ASSERT(msg);
if (msgb_l2len(msg) < sizeof(struct bssmap_header)) {
- LOGP(DMSC, LOGL_NOTICE, "The header is too short -- discarding message!\n");
+ LOGP(DBSSAP, LOGL_NOTICE, "The header is too short -- discarding message!\n");
msgb_free(msg);
return -EINVAL;
}
@@ -672,7 +672,7 @@ int a_sccp_rx_dt(struct osmo_sccp_user *scu, const struct a_conn_info *a_conn_in
case BSSAP_MSG_DTAP:
return rx_dtap(scu, a_conn_info, msg);
default:
- LOGP(DMSC, LOGL_ERROR, "Unimplemented BSSAP msg type: %s\n", gsm0808_bssap_name(msg->l2h[0]));
+ LOGP(DBSSAP, LOGL_ERROR, "Unimplemented BSSAP msg type: %s\n", gsm0808_bssap_name(msg->l2h[0]));
msgb_free(msg);
return -EINVAL;
}