summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@aleksander.es>2014-07-04 09:47:49 +0200
committerAleksander Morgado <aleksander@aleksander.es>2014-07-04 09:47:49 +0200
commitb7cf21dc24d56ec7e5617082480c95fde2cd1525 (patch)
treec170fea8f8a6f9b251b30139665fd1c4d641cbbc
parentf6b0fd3f7bc75bceb6c09e0f1c7fadaa82b53d9c (diff)
downloadModemManager-b7cf21dc24d56ec7e5617082480c95fde2cd1525.tar.gz
huawei: close GPS port once GPS has been disabled
-rw-r--r--plugins/huawei/mm-broadband-modem-huawei.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/plugins/huawei/mm-broadband-modem-huawei.c b/plugins/huawei/mm-broadband-modem-huawei.c
index 614b35427..c2e464d1b 100644
--- a/plugins/huawei/mm-broadband-modem-huawei.c
+++ b/plugins/huawei/mm-broadband-modem-huawei.c
@@ -3255,6 +3255,7 @@ gps_disabled_ready (MMBaseModem *self,
GAsyncResult *res,
GSimpleAsyncResult *simple)
{
+ MMPortSerialGps *gps_port;
GError *error = NULL;
if (!mm_base_modem_at_command_full_finish (self, res, &error))
@@ -3262,6 +3263,11 @@ gps_disabled_ready (MMBaseModem *self,
else
g_simple_async_result_set_op_res_gboolean (simple, TRUE);
+ /* Even if we get an error here, we try to close the GPS port */
+ gps_port = mm_base_modem_peek_port_gps (self);
+ if (gps_port)
+ mm_port_serial_close (MM_PORT_SERIAL (gps_port));
+
g_simple_async_result_complete (simple);
g_object_unref (simple);
}