Fix Ericsson RBS2000 support after libosmo-abis merge
The libosmo-abis merge broke Ericsson RBS support, as it didn't get the
part right where the per-TRX OML sign_link is determined while
transmitting OM2000 messages.
As a result of this fix, we can remove the 'to_trx_oml' parameter to
_abis_nm_sendmsg(), which is a nice cleanup.
diff --git a/openbsc/src/libbsc/abis_nm.c b/openbsc/src/libbsc/abis_nm.c
index 027a263..a01826b 100644
--- a/openbsc/src/libbsc/abis_nm.c
+++ b/openbsc/src/libbsc/abis_nm.c
@@ -114,10 +114,8 @@
"OML");
}
-int _abis_nm_sendmsg(struct msgb *msg, int to_trx_oml)
+int _abis_nm_sendmsg(struct msgb *msg)
{
- struct e1inp_sign_link *sign_link = msg->dst;
-
msg->l2h = msg->data;
if (!msg->dst) {
@@ -125,12 +123,6 @@
return -EINVAL;
}
- /* Check for TRX-specific OML link first */
- if (to_trx_oml) {
- if (!sign_link->trx->oml_link)
- return -ENODEV;
- msg->dst = sign_link->trx->oml_link;
- }
return abis_sendmsg(msg);
}
@@ -142,7 +134,7 @@
/* queue OML messages */
if (llist_empty(&bts->abis_queue) && !bts->abis_nm_pend) {
bts->abis_nm_pend = OBSC_NM_W_ACK_CB(msg);
- return _abis_nm_sendmsg(msg, 0);
+ return _abis_nm_sendmsg(msg);
} else {
msgb_enqueue(&bts->abis_queue, msg);
return 0;
@@ -508,7 +500,7 @@
while (!llist_empty(&bts->abis_queue)) {
msg = msgb_dequeue(&bts->abis_queue);
wait = OBSC_NM_W_ACK_CB(msg);
- _abis_nm_sendmsg(msg, 0);
+ _abis_nm_sendmsg(msg);
if (wait)
break;