diff options
author | Marius B. Kotsbak <marius@kotsbak.com> | 2012-09-09 18:06:30 +0200 |
---|---|---|
committer | Dan Williams <dcbw@redhat.com> | 2012-09-18 16:27:09 -0500 |
commit | d2353e01ff4b786da4542f7fd6f4f4e76081f450 (patch) | |
tree | 7e39e3a953c3c2c8cb9bb44ec101615acd7613db | |
parent | b65bc50777a9de7d0f5a16503056435b19140048 (diff) |
sierra: use +CFUN=4 for powering down GSM modems
-rw-r--r-- | plugins/sierra/mm-broadband-modem-sierra.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/plugins/sierra/mm-broadband-modem-sierra.c b/plugins/sierra/mm-broadband-modem-sierra.c index 49c2e22b..ef3e9926 100644 --- a/plugins/sierra/mm-broadband-modem-sierra.c +++ b/plugins/sierra/mm-broadband-modem-sierra.c @@ -490,12 +490,12 @@ modem_power_down_finish (MMIfaceModem *self, } static void -pcstate_disable_ready (MMBaseModem *self, +modem_power_down_ready (MMBaseModem *self, GAsyncResult *res, GSimpleAsyncResult *simple) { /* Ignore errors for now; we're not sure if all Sierra CDMA devices support - * at!pcstate. + * at!pcstate or 3GPP devices support +CFUN=4. */ mm_base_modem_at_command_finish (MM_BASE_MODEM (self), res, NULL); @@ -522,16 +522,18 @@ modem_power_down (MMIfaceModem *self, "!pcstate=0", 5, FALSE, - (GAsyncReadyCallback)pcstate_disable_ready, + (GAsyncReadyCallback)modem_power_down_ready, result); return; } - /* For 3GPP modems we should call parent's power down, but there is no - * such power down command in MMBroadbandModem, so just finish here. */ - g_simple_async_result_set_op_res_gboolean (result, TRUE); - g_simple_async_result_complete_in_idle (result); - g_object_unref (result); + /* For GSM modems, run AT+CFUN=4 (power save) */ + mm_base_modem_at_command (MM_BASE_MODEM (self), + "+CFUN=4", + 3, + FALSE, + (GAsyncReadyCallback)modem_power_down_ready, + result); } /*****************************************************************************/ |