aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniele Palmas <dnlplm@gmail.com>2024-11-05 16:18:26 +0100
committerDan Williams <dan@bigw.org>2024-11-09 02:45:51 +0000
commit3457df7df033736b3b440cfdabce753f895c1df1 (patch)
treed6354da256038668ef550d67d3f57f197e1666f0 /src
parent33107894ee342cbd10f55e89ec828fc218a0be11 (diff)
broadband-modem-telit: fix endless loop when enabling events in secondary port
Diffstat (limited to 'src')
-rw-r--r--src/plugins/telit/mm-broadband-modem-telit.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/plugins/telit/mm-broadband-modem-telit.c b/src/plugins/telit/mm-broadband-modem-telit.c
index 1d1185f4..dbdfd8b0 100644
--- a/src/plugins/telit/mm-broadband-modem-telit.c
+++ b/src/plugins/telit/mm-broadband-modem-telit.c
@@ -1393,6 +1393,7 @@ typedef struct {
MMPortSerialAt *primary;
MMPortSerialAt *secondary;
gboolean primary_done;
+ gboolean secondary_done;
} EnableUnsolicitedEventsContext;
static void
@@ -1442,7 +1443,8 @@ own_enable_unsolicited_events (GTask *task)
g_assert (ctx->primary);
mm_obj_dbg (self, "enabling telit-specific 3GPP unsolicited events in primary port");
port = ctx->primary;
- } else if (ctx->secondary) {
+ } else if (ctx->secondary && !ctx->secondary_done) {
+ ctx->secondary_done = TRUE;
mm_obj_dbg (self, "enabling telit-specific 3GPP unsolicited events in secondary port");
port = ctx->secondary;
}