[PATCH] libmbim-glib: mbim-device: Print parsed packet even for incorrect transaction
pprabhu at chromium.org
pprabhu at chromium.org
Fri Jun 13 14:19:25 PDT 2014
From: Prathmesh Prabhu <pprabhu at chromium.org>
diff --git a/src/libmbim-glib/mbim-device.c b/src/libmbim-glib/mbim-device.c
index 6f965e9..4bb5f35 100644
--- a/src/libmbim-glib/mbim-device.c
+++ b/src/libmbim-glib/mbim-device.c
@@ -417,12 +417,13 @@ static void
process_message (MbimDevice *self,
const MbimMessage *message)
{
+ gboolean is_partial_fragment;
+
+ is_partial_fragment = (_mbim_message_is_fragment (message) &&
+ _mbim_message_fragment_get_total (message) > 1);
+
if (mbim_utils_get_traces_enabled ()) {
gchar *printable;
- gboolean is_partial_fragment;
-
- is_partial_fragment = (_mbim_message_is_fragment (message) &&
- _mbim_message_fragment_get_total (message) > 1);
printable = __mbim_utils_str_hex (((GByteArray *)message)->data,
((GByteArray *)message)->len,
@@ -468,8 +469,18 @@ process_message (MbimDevice *self,
/* Grab transaction */
tr = device_match_transaction (self, TRANSACTION_TYPE_HOST, message);
if (!tr) {
+ gchar *printable = NULL;
+
g_debug ("[%s] No transaction matched in received message",
self->priv->path_display);
+ /* Attempt to print a user friendly dump of the packet anyway */
+ printable = mbim_message_get_printable (message, ">>>>>> ", !!is_partial_fragment);
+ if (printable) {
+ g_debug ("[%s] Received unexpected message (translated)...\n%s",
+ self->priv->path_display,
+ printable);
+ g_free (printable);
+ }
return;
}
--
2.0.0.526.g5318336
More information about the ModemManager-devel
mailing list