aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2011-12-28 18:09:17 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-02-17 13:25:03 +0100
commit7b8e9203f259b93bc3a5b6f94cb8cf0dbb39742c (patch)
treea3d101417749895e51fdda99be16dc116c281ddf
parentf2af208f05cbf56f8a44478615d70b7da46c3e42 (diff)
gsm: don't query PS network registration status if not supported
-rw-r--r--src/mm-generic-gsm.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mm-generic-gsm.c b/src/mm-generic-gsm.c
index d036fd6e..568cc8fd 100644
--- a/src/mm-generic-gsm.c
+++ b/src/mm-generic-gsm.c
@@ -3513,7 +3513,7 @@ generic_reg_status_done (MMCallbackInfo *info,
if (error)
local = g_error_copy (error);
- else if (strlen (response->str)) {
+ else if (response && strlen (response->str)) {
/* Unsolicited registration status handlers will usually process the
* response for us, but just in case they don't, do that here.
*/
@@ -3558,7 +3558,10 @@ static void
get_registration_status (MMAtSerialPort *port, MMCallbackInfo *info)
{
mm_at_serial_port_queue_command (port, "+CREG?", 10, get_cs_reg_status_done, info);
- mm_at_serial_port_queue_command (port, "+CGREG?", 10, get_ps_reg_status_done, info);
+ if (ps_network_supported (MM_GENERIC_GSM (info->modem)))
+ mm_at_serial_port_queue_command (port, "+CGREG?", 10, get_ps_reg_status_done, info);
+ else
+ generic_reg_status_done (info, NULL, NULL, PS_ERROR_TAG, PS_DONE_TAG);
}
static void