falconia has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-mgw/+/37311?usp=email )
Change subject: fix E1 TS output when used with osmo-e1d ......................................................................
fix E1 TS output when used with osmo-e1d
The original code did E1 raw TS output by posting directly to &ts->raw.tx_queue instead of calling e1inp_ts_send_raw(); doing so bypasses the call to driver->want_write performed in e1inp layer. This approach worked for DAHDI where no select-for-write is used; however, e1inp interface to osmo-e1d does use select-for-write, hence applications like osmo-mgw do need to use e1inp_ts_send_raw() API in order to work correctly.
Change-Id: I6ce9a1dea6834632faf75059e85ca9a0c25d57c2 --- M src/libosmo-mgcp/mgcp_e1.c 1 file changed, 19 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-mgw refs/changes/11/37311/1
diff --git a/src/libosmo-mgcp/mgcp_e1.c b/src/libosmo-mgcp/mgcp_e1.c index 1180e03..1428824 100644 --- a/src/libosmo-mgcp/mgcp_e1.c +++ b/src/libosmo-mgcp/mgcp_e1.c @@ -324,7 +324,7 @@ msgb_length(msg) > DEBUG_BYTES_MAX ? DEBUG_BYTES_MAX : msgb_length(msg))); #endif /* Hand data over to the E1 stack */ - msgb_enqueue(&ts->raw.tx_queue, msg); + e1inp_ts_send_raw(ts, msg); return; }