diff options
author | Dan Williams <dcbw@redhat.com> | 2010-03-09 22:12:21 -0800 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2010-03-09 22:12:21 -0800 |
commit | b0598738f1e99d3902a2aa79d5c3f74b686310f1 (patch) | |
tree | 011fd821a66d440bb70155449298bf7ff088c0fd | |
parent | ce1c72152b3488c06e5f01aa6b0dbd9ffcb918a4 (diff) |
gsm: only update access technology when enabled
-rw-r--r-- | src/mm-generic-gsm.c | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/src/mm-generic-gsm.c b/src/mm-generic-gsm.c index 5d209366..a7149fd1 100644 --- a/src/mm-generic-gsm.c +++ b/src/mm-generic-gsm.c @@ -114,6 +114,9 @@ static gboolean handle_reg_status_response (MMGenericGsm *self, static MMModemGsmAccessTech etsi_act_to_mm_act (gint act); +static void _internal_update_access_technology (MMGenericGsm *modem, + MMModemGsmAccessTech act); + MMModem * mm_generic_gsm_new (const char *device, const char *driver, @@ -908,7 +911,7 @@ disable (MMModem *modem, priv->lac[1] = 0; priv->cell_id[0] = 0; priv->cell_id[1] = 0; - mm_generic_gsm_update_access_technology (self, MM_MODEM_GSM_ACCESS_TECH_UNKNOWN); + _internal_update_access_technology (self, MM_MODEM_GSM_ACCESS_TECH_UNKNOWN); /* Close the secondary port if its open */ if (priv->secondary && mm_serial_port_is_open (priv->secondary)) @@ -2307,15 +2310,14 @@ etsi_act_to_mm_act (gint act) return MM_MODEM_GSM_ACCESS_TECH_UNKNOWN; } -void -mm_generic_gsm_update_access_technology (MMGenericGsm *modem, - MMModemGsmAccessTech act) +static void +_internal_update_access_technology (MMGenericGsm *modem, + MMModemGsmAccessTech act) { MMGenericGsmPrivate *priv; g_return_if_fail (modem != NULL); g_return_if_fail (MM_IS_GENERIC_GSM (modem)); - g_return_if_fail (act >= MM_MODEM_GSM_ACCESS_TECH_UNKNOWN && act <= MM_MODEM_GSM_ACCESS_TECH_LAST); priv = MM_GENERIC_GSM_GET_PRIVATE (modem); @@ -2333,6 +2335,18 @@ mm_generic_gsm_update_access_technology (MMGenericGsm *modem, } void +mm_generic_gsm_update_access_technology (MMGenericGsm *self, + MMModemGsmAccessTech act) +{ + g_return_if_fail (self != NULL); + g_return_if_fail (MM_IS_GENERIC_GSM (self)); + + /* For plugins, don't update the access tech when the modem isn't enabled */ + if (mm_modem_get_state (MM_MODEM (self)) >= MM_MODEM_STATE_ENABLED) + _internal_update_access_technology (self, act); +} + +void mm_generic_gsm_update_allowed_mode (MMGenericGsm *self, MMModemGsmAllowedMode mode) { |