[PATCH v2] libmbim-glib: print parsed packet even for unmatched transaction
Ben Chan
benchan at chromium.org
Thu Jun 19 08:59:52 PDT 2014
From: Prathmesh Prabhu <pprabhu at chromium.org>
---
src/libmbim-glib/mbim-device.c | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/src/libmbim-glib/mbim-device.c b/src/libmbim-glib/mbim-device.c
index 4ac6464..da2d507 100644
--- a/src/libmbim-glib/mbim-device.c
+++ b/src/libmbim-glib/mbim-device.c
@@ -418,12 +418,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,
@@ -478,8 +479,18 @@ process_message (MbimDevice *self,
(MBIM_MESSAGE_GET_MESSAGE_TYPE (message) - 0x80000000),
mbim_message_get_transaction_id (message));
if (!tr) {
+ gchar *printable;
+
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 libmbim-devel
mailing list