summaryrefslogtreecommitdiff
path: root/src/modem-manager
diff options
context:
space:
mode:
authorDan Williams <dcbw@redhat.com>2010-03-10 11:25:14 -0800
committerDan Williams <dcbw@redhat.com>2010-03-10 11:25:14 -0800
commit308e9110aeb32939d3f54cb9f97e3bef983d9ca0 (patch)
tree2b8e2b6faa2b2844260cd408090d6d8a6e487a40 /src/modem-manager
parentd0c792d59842abac896587191b15a3250dbc5ff3 (diff)
modem: log disconnect errors
Diffstat (limited to 'src/modem-manager')
-rw-r--r--src/modem-manager/nm-modem.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/src/modem-manager/nm-modem.c b/src/modem-manager/nm-modem.c
index 33acc0ccde..4ce4c9ee48 100644
--- a/src/modem-manager/nm-modem.c
+++ b/src/modem-manager/nm-modem.c
@@ -673,6 +673,19 @@ nm_modem_deactivate_quickly (NMModem *self, NMDevice *device)
NM_MODEM_GET_CLASS (self)->deactivate_quickly (self, device);
}
+static void
+disconnect_done (DBusGProxy *proxy, DBusGProxyCall *call_id, gpointer user_data)
+{
+ GError *error = NULL;
+
+ if (!dbus_g_proxy_end_call (proxy, call_id, &error, G_TYPE_INVALID)) {
+ g_warning ("%s: disconnect failed: (%d) %s",
+ __func__,
+ error ? error->code : -1,
+ error && error->message ? error->message : "(unknown)");
+ }
+}
+
void
nm_modem_device_state_changed (NMModem *self,
NMDeviceState new_state,
@@ -698,9 +711,12 @@ nm_modem_device_state_changed (NMModem *self,
case NM_DEVICE_STATE_FAILED:
case NM_DEVICE_STATE_DISCONNECTED:
if (was_connected) {
- dbus_g_proxy_call_no_reply (nm_modem_get_proxy (self, MM_DBUS_INTERFACE_MODEM),
- "Disconnect",
- G_TYPE_INVALID);
+ dbus_g_proxy_begin_call (nm_modem_get_proxy (self, MM_DBUS_INTERFACE_MODEM),
+ "Disconnect",
+ disconnect_done,
+ self,
+ NULL,
+ G_TYPE_INVALID);
}
break;
default: