gsm: only update access technology when enabled

This commit is contained in:
Dan Williams
2010-03-09 22:12:21 -08:00
parent ce1c72152b
commit b0598738f1

View File

@@ -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,
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);
@@ -2332,6 +2334,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)