[RFC] qmi-message: set qmux sender flag on on responses

Bjørn Mork bjorn at mork.no
Mon Jan 22 09:59:25 UTC 2018


Set the sender flag when we generate QMI responses.  Some
clients might expect it.

Signed-off-by: Bjørn Mork <bjorn at mork.no>
---
Another RFC patch.  I am doing a bit of git cleaning, and this
pacth have been stuck in a local test branch for 2+ years.  I
honestly don't remember what made me write it, but I am pretty
sure it wasn't just for fun.  Somehow I did hit this issue in
the wild.  But I cannot figure out how anymore.

Anyway, sending it to the Internet for permanent storage before
cleaning out the local branch.  Now it's your problem :-)


Bjørn

 src/libqmi-glib/qmi-message.c       | 3 +++
 src/libqmi-glib/test/test-message.c | 4 ++--
 2 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/libqmi-glib/qmi-message.c b/src/libqmi-glib/qmi-message.c
index 42c659696f18..308fc00242ca 100644
--- a/src/libqmi-glib/qmi-message.c
+++ b/src/libqmi-glib/qmi-message.c
@@ -460,6 +460,9 @@ qmi_message_response_new (QmiMessage       *request,
                                 qmi_message_get_transaction_id (request),
                                 qmi_message_get_message_id (request));
 
+    /* Set sender type flag */
+    ((struct full_message *)(((GByteArray *)response)->data))->qmux.flags = 0x80;
+
     /* Set the response flag */
     if (message_is_control (request))
         ((struct full_message *)(((GByteArray *)response)->data))->qmi.control.header.flags |= QMI_CTL_FLAG_RESPONSE;
diff --git a/src/libqmi-glib/test/test-message.c b/src/libqmi-glib/test/test-message.c
index cee6838ffad1..973b38397ead 100644
--- a/src/libqmi-glib/test/test-message.c
+++ b/src/libqmi-glib/test/test-message.c
@@ -278,7 +278,7 @@ test_message_new_response_ok (void)
     static const guint8 expected_buffer [] = {
         0x01,       /* marker */
         0x13, 0x00, /* qmux length */
-        0x00,       /* qmux flags */
+        0x80,       /* qmux flags */
         0x02,       /* service: DMS */
         0x01,       /* client id */
         0x02,       /* service flags */
@@ -320,7 +320,7 @@ test_message_new_response_error (void)
     static const guint8 expected_buffer [] = {
         0x01,       /* marker */
         0x13, 0x00, /* qmux length */
-        0x00,       /* qmux flags */
+        0x80,       /* qmux flags */
         0x02,       /* service: DMS */
         0x01,       /* client id */
         0x02,       /* service flags */
-- 
2.11.0



More information about the libqmi-devel mailing list