0
0
mirror of https://github.com/openwrt/packages.git synced 2025-10-18 14:15:46 +00:00
Files
packages/net/modemmanager/patches/0002-modem-helpers-cinterion-allow-spaces-in-SXRAT-test-r.patch
Florian Eckert d221309637 modemmanager: backport fixes for version 1.24.0
The following commits were added shortly after the release of Modemmanager
version '1.24.0'.

Patch: 0002-modem-helpers-cinterion-allow-spaces-in-SXRAT-test-r.patch
Backport: 6b6997362b
Issue: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/974

Patch: 0003-modem-helpers-fix-checking-of-CDMA-EVDO-access-techn.patch
Backport: 9e205f4784
Issue: no

Patch: 0004-iface-modem-voice-recheck-call-state-polling-when-ca.patch
Backport: 92e666e1c9
Issue: no

Signed-off-by: Florian Eckert <fe@dev.tdt.de>
2025-05-15 14:33:22 +02:00

76 lines
2.9 KiB
Diff

From 6b6997362b5530708725c16c80ef36cd21609f20 Mon Sep 17 00:00:00 2001
From: Dan Williams <dan@ioncontrol.co>
Date: Sun, 13 Apr 2025 19:56:56 -0500
Subject: [PATCH] modem-helpers-cinterion: allow spaces in ^SXRAT test response
^SXRAT: (0-6), (0,2,3), (0,2,3)
Fixes: https://gitlab.freedesktop.org/mobile-broadband/ModemManager/-/issues/974
Signed-off-by: Dan Williams <dan@ioncontrol.co>
---
.../cinterion/mm-modem-helpers-cinterion.c | 2 +-
.../tests/test-modem-helpers-cinterion.c | 33 +++++++++++++++++++
2 files changed, 34 insertions(+), 1 deletion(-)
--- a/src/plugins/cinterion/mm-modem-helpers-cinterion.c
+++ b/src/plugins/cinterion/mm-modem-helpers-cinterion.c
@@ -794,7 +794,7 @@ mm_cinterion_parse_sxrat_test (const gch
return FALSE;
}
- r = g_regex_new ("\\^SXRAT:\\s*\\(([^\\)]*)\\),\\(([^\\)]*)\\)(,\\(([^\\)]*)\\))?(?:\\r\\n)?",
+ r = g_regex_new ("\\^SXRAT:\\s*\\(([^\\)]*)\\),\\s*\\(([^\\)]*)\\)(,\\s*\\(([^\\)]*)\\))?(?:\\r\\n)?",
G_REGEX_DOLLAR_ENDONLY | G_REGEX_RAW,
0, NULL);
--- a/src/plugins/cinterion/tests/test-modem-helpers-cinterion.c
+++ b/src/plugins/cinterion/tests/test-modem-helpers-cinterion.c
@@ -1827,6 +1827,38 @@ test_sxrat_response_els61 (void)
}
static void
+test_sxrat_response_pls63_w (void)
+{
+ GArray *expected_rat;
+ GArray *expected_pref1;
+ GArray *expected_pref2;
+ const guint vals[] = { 0, 2, 3 };
+ guint val;
+ const gchar *response =
+ "^SXRAT: (0-6), (0,2,3), (0,2,3)\r\n"
+ "\r\n";
+
+ expected_rat = g_array_sized_new (FALSE, FALSE, sizeof (guint), 7);
+ for (val = 0; val < 7; val++)
+ g_array_append_val (expected_rat, val);
+
+ expected_pref1 = g_array_sized_new (FALSE, FALSE, sizeof (guint), 3);
+ g_array_append_vals (expected_pref1, &vals, 3);
+
+ expected_pref2 = g_array_sized_new (FALSE, FALSE, sizeof (guint), 3);
+ g_array_append_vals (expected_pref2, &vals, 3);
+
+ common_test_sxrat (response,
+ expected_rat,
+ expected_pref1,
+ expected_pref2);
+
+ g_array_unref (expected_rat);
+ g_array_unref (expected_pref1);
+ g_array_unref (expected_pref2);
+}
+
+static void
test_sxrat_response_other (void)
{
GArray *expected_rat;
@@ -2177,6 +2209,7 @@ int main (int argc, char **argv)
g_test_add_func ("/MM/cinterion/sgauth", test_sgauth_response);
g_test_add_func ("/MM/cinterion/sxrat", test_sxrat);
g_test_add_func ("/MM/cinterion/sxrat/response/els61", test_sxrat_response_els61);
+ g_test_add_func ("/MM/cinterion/sxrat/response/pls63w", test_sxrat_response_pls63_w);
g_test_add_func ("/MM/cinterion/sxrat/response/other", test_sxrat_response_other);
g_test_add_func ("/MM/cinterion/cops/only-mode-2g", test_cops_only_mode_2g);
g_test_add_func ("/MM/cinterion/cops/only-mode-3g", test_cops_only_mode_3g);