diff options
author | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-10-04 22:54:08 +0000 |
---|---|---|
committer | A. Wilcox <AWilcox@Wilcox-Tech.com> | 2019-10-04 22:54:08 +0000 |
commit | 737a61026bad4b53e722a33ad6c40fb747e592ab (patch) | |
tree | a02a8509e9327073ab91c296ce6e6686daf00407 /user/libqmi/endian.patch | |
parent | ac982e97ea4c60663b73bb13d72da6aef9f9f5a9 (diff) | |
download | packages-737a61026bad4b53e722a33ad6c40fb747e592ab.tar.gz packages-737a61026bad4b53e722a33ad6c40fb747e592ab.tar.bz2 packages-737a61026bad4b53e722a33ad6c40fb747e592ab.tar.xz packages-737a61026bad4b53e722a33ad6c40fb747e592ab.zip |
user/libqmi: bump to 1.24.0
Diffstat (limited to 'user/libqmi/endian.patch')
-rw-r--r-- | user/libqmi/endian.patch | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/user/libqmi/endian.patch b/user/libqmi/endian.patch new file mode 100644 index 000000000..cf84b481b --- /dev/null +++ b/user/libqmi/endian.patch @@ -0,0 +1,69 @@ +From 6030b9bb2e0ed9f3824a34cef548feaefceb9e37 Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Fri, 4 Oct 2019 17:45:10 -0500 +Subject: [PATCH 1/2] libqmi-glib: Fix message creation on BE systems + +Creation of the fake QMUX header wrote the length as a native value, which +caused the wrong value to be written on big endian systems. + +Before, a test run on a ppc64 system gave: + +ERROR:test-message.c:296:test_message_new_request_from_data: assertion failed: (self) + /libqmi-glib/message/new/request: OK + /libqmi-glib/message/new/request-from-data: FAIL + +Adding a g_assert_no_error gave the more helpful message: + +ERROR:test-message.c:296:test_message_new_request_from_data: assertion failed (error == NULL): QMUX length and buffer length don't match (3072 != 12) (qmi_core_error_quark, 4) + +After this commit is applied, all tests pass on a big endian ppc64 system. +--- + src/libqmi-glib/qmi-message.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/libqmi-glib/qmi-message.c b/src/libqmi-glib/qmi-message.c +index b82069e..41c5b43 100644 +--- a/src/libqmi-glib/qmi-message.c ++++ b/src/libqmi-glib/qmi-message.c +@@ -478,7 +478,7 @@ qmi_message_new_from_data (QmiService service, + /* Set up fake QMUX header */ + buffer = (struct full_message *)(self->data); + buffer->marker = QMI_MESSAGE_QMUX_MARKER; +- buffer->qmux.length = buffer_len - 1; ++ buffer->qmux.length = GUINT16_TO_LE(buffer_len - 1); + buffer->qmux.flags = 0; + buffer->qmux.service = service; + buffer->qmux.client = client_id; +-- +2.22.1 + +From e299023094516a5be3ffb05f66ea90c47e966811 Mon Sep 17 00:00:00 2001 +From: "A. Wilcox" <AWilcox@Wilcox-Tech.com> +Date: Fri, 4 Oct 2019 17:49:07 -0500 +Subject: [PATCH 2/2] libqmi-glib: Add small error test to test-message + +The previous commit was easier to diagnose with the error condition from +qmi_message_new_from_data provided. This change adds g_assert_no_error to +the test_message_new_request_from_data case so that any future issues can +be diagnosed quickly. +--- + src/libqmi-glib/test/test-message.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/src/libqmi-glib/test/test-message.c b/src/libqmi-glib/test/test-message.c +index b6ea711..e41917a 100644 +--- a/src/libqmi-glib/test/test-message.c ++++ b/src/libqmi-glib/test/test-message.c +@@ -292,7 +292,8 @@ test_message_new_request_from_data (void) + qmi = g_byte_array_new (); + g_byte_array_append (qmi, expected_buffer, sizeof (expected_buffer)); + +- self = qmi_message_new_from_data (QMI_SERVICE_DMS, 0x01, qmi, NULL); ++ self = qmi_message_new_from_data (QMI_SERVICE_DMS, 0x01, qmi, &error); ++ g_assert_no_error (error); + g_assert (self); + + /* check that the QMUX header contains the right values*/ +-- +2.22.1 + |