WIP: firmware: sniffer: inbound USB handling

Change-Id: Ic953148600d82285281abcb573a07e2e9b8082a7
diff --git a/firmware/libcommon/source/sniffer.c b/firmware/libcommon/source/sniffer.c
index 78413ec..7fd9961 100644
--- a/firmware/libcommon/source/sniffer.c
+++ b/firmware/libcommon/source/sniffer.c
@@ -977,8 +977,22 @@
 /* handle incoming message from USB OUT EP */
 static void dispatch_usb_out(struct msgb *msg, const struct usb_if *usb_if)
 {
-	/* currently we don't need any incoming data */
-	msgb_free(msg);
+	struct simtrace_msg_hdr *sh = (Struct simtrace_msg_hdr *) msg->l1h;
+
+	if (msg_length(msg) < sizeof(*sh)) {
+		usb_buf_free(msg);
+		return;
+	}
+	msg->l2h = msg->l1h + sizeof(*sh);
+
+	switch (sh->msg_class) {
+	case SIMTRACE_MSGC_GENERIC:
+		break;
+	default:
+		break;
+	}
+
+	usb_buf_free(msg);
 }
 
 static const struct usb_if sniffer_usb_if = {