From 2f3a0eaa0bcf463b9e863406fa1d428b49d9d576 Mon Sep 17 00:00:00 2001 From: Ratchanan Srirattanamet Date: Fri, 14 Oct 2022 22:11:24 +0700 Subject: [PATCH] wwan/modem: return early if set_mm_enable is not implemented We don't want to e.g. pre-empt the state change signal, because it's not gonna happen. --- src/core/devices/wwan/nm-modem.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/core/devices/wwan/nm-modem.c b/src/core/devices/wwan/nm-modem.c index a5ee8ce8ed..0159d35109 100644 --- a/src/core/devices/wwan/nm-modem.c +++ b/src/core/devices/wwan/nm-modem.c @@ -353,6 +353,12 @@ nm_modem_set_mm_enabled(NMModem *self, gboolean enabled) NMModemPrivate *priv = NM_MODEM_GET_PRIVATE(self); NMModemState prev_state = priv->state; + /* Not all modem classes support set_mm_enabled */ + if (!NM_MODEM_GET_CLASS(self)->set_mm_enabled) { + _LOGD("cannot enable modem: not implemented"); + return; + } + if (enabled && priv->state >= NM_MODEM_STATE_ENABLING) { _LOGD("cannot enable modem: already enabled"); return; @@ -375,9 +381,7 @@ nm_modem_set_mm_enabled(NMModem *self, gboolean enabled) return; } - /* Not all modem classes support set_mm_enabled */ - if (NM_MODEM_GET_CLASS(self)->set_mm_enabled) - NM_MODEM_GET_CLASS(self)->set_mm_enabled(self, enabled); + NM_MODEM_GET_CLASS(self)->set_mm_enabled(self, enabled); /* Pre-empt the state change signal */ nm_modem_set_state(self,