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:30:57 -0500
commit965b1ba5720f1fab30774885c671f4c6a2e6a966 (patch)
tree39be8d3c4bd800abb61aba210b27e0d91c236e3b
parentd09375e08e4234ae87c5a1af5e5cbcdc84771742 (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 9c1f780f..a6f3e0df 100644
--- a/src/mm-generic-gsm.c
+++ b/src/mm-generic-gsm.c
@@ -2206,8 +2206,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);
}