Remove mISDN header from received channel data

Change-Id: I37f12baa1013cd1cfc6f6531b132669071eec926
diff --git a/src/input/misdn.c b/src/input/misdn.c
index 5f6dd62..5d47a79 100644
--- a/src/input/misdn.c
+++ b/src/input/misdn.c
@@ -372,9 +372,10 @@
 
 	switch (hh->prim) {
 	case PH_DATA_IND:
-		msg->l2h = msg->data + MISDN_HEADER_LEN;
+		/* remove the Misdn Header */
+		msg->l2h = msgb_pull(msg, MISDN_HEADER_LEN);
 		LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "BCHAN RX: %s\n",
-			osmo_hexdump(msgb_l2(msg), ret - MISDN_HEADER_LEN));
+			osmo_hexdump(msgb_l2(msg), msgb_l2len(msg)));
 		/* the number of bytes received indicates that data to send */
 		handle_tsX_write(bfd, msgb_l2len(msg));
 		return e1inp_rx_ts(e1i_ts, msg, 0, 0);
@@ -454,9 +455,10 @@
 
 	switch (hh->prim) {
 	case PH_DATA_IND:
-		msg->l2h = msg->data + MISDN_HEADER_LEN;
+		/* remove the Misdn Header */
+		msg->l2h = msgb_pull(msg, MISDN_HEADER_LEN);
 		LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "RAW CHAN RX: %s\n",
-			osmo_hexdump(msgb_l2(msg), ret - MISDN_HEADER_LEN));
+			osmo_hexdump(msgb_l2(msg), msgb_l2len(msg)));
 		/* the number of bytes received indicates that data to send */
 		handle_ts_raw_write(bfd, msgb_l2len(msg));
 		return e1inp_rx_ts(e1i_ts, msg, 0, 0);
@@ -539,9 +541,11 @@
 
 	switch (hh->prim) {
 	case PH_DATA_IND:
-		msg->l2h = msg->data + MISDN_HEADER_LEN;
+		/* remove the Misdn Header */
+		msgb_pull(msg, MISDN_HEADER_LEN);
+		msg->l2h = msg->data;
 		LOGPITS(e1i_ts, DLMIB, LOGL_DEBUG, "HDLC CHAN RX: %s\n",
-			osmo_hexdump(msgb_l2(msg), ret - MISDN_HEADER_LEN));
+			osmo_hexdump(msgb_l2(msg), msgb_l2len(msg)));
 		return e1inp_rx_ts(e1i_ts, msg, 0, 0);
 	case PH_ACTIVATE_IND:
 		break;