[PATCH v2] libmbim-glib: mbim-device: Print parsed packet even for unmatched transaction

Aleksander Morgado aleksander at aleksander.es
Thu Jun 19 02:08:15 PDT 2014


On 18/06/14 17:03, pprabhu at chromium.org wrote:
> From: Prathmesh Prabhu <pprabhu at chromium.org>
> 

Patch doesn't apply.. can you rebase it on top of git master?


> diff --git a/src/libmbim-glib/mbim-device.c b/src/libmbim-glib/mbim-device.c
> index 6f965e9..9464042 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;
> +
>                  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;
>              }
>  
> 


-- 
Aleksander
https://aleksander.es


More information about the libmbim-devel mailing list