aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2012-07-17 10:30:57 -0500
committerDan Williams <dcbw@redhat.com>2012-07-17 10:33:39 -0500
commita1800dc508ce7bc6262f2f4f1bb9fd4118ca0816 (patch)
tree07b12ba6ebae839550e42c86a7e685df0cb5a44d
parent8b5985a99e1f5a05e1a194d54515bc3421035a6e (diff)
gsm: ensure cleanup commands are sent when disabling
If there's no modem-specific power-down command, the port would be closed prematurely, perhaps leaving unsolicited messages enabled. Make sure that doesn't happen by ensuring that cleanup commands complete.
-rw-r--r--src/mm-generic-gsm.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mm-generic-gsm.c b/src/mm-generic-gsm.c
index 4ed81241..293b2ec4 100644
--- a/src/mm-generic-gsm.c
+++ b/src/mm-generic-gsm.c
@@ -2099,8 +2099,10 @@ disable_flash_done (MMSerialPort *port,
g_object_get (G_OBJECT (info->modem), MM_GENERIC_GSM_POWER_DOWN_CMD, &cmd, NULL);
if (cmd && strlen (cmd))
mm_at_serial_port_queue_command (MM_AT_SERIAL_PORT (port), cmd, 5, disable_done, user_data);
- else
- disable_done (MM_AT_SERIAL_PORT (port), NULL, NULL, user_data);
+ else {
+ /* Send a plain AT to ensure the previous commands complete */
+ mm_at_serial_port_queue_command (MM_AT_SERIAL_PORT (port), "AT", 3, disable_done, user_data);
+ }
g_free (cmd);
}