From 6266e3f67963088b27c1ed31292278dbc4ebf9d1 Mon Sep 17 00:00:00 2001 From: Denis Kenzior Date: Wed, 2 Dec 2009 15:40:45 -0600 Subject: [PATCH] Refactor: modem de-registration --- src/modem.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) diff --git a/src/modem.c b/src/modem.c index e6fd1fe0..ec723e50 100644 --- a/src/modem.c +++ b/src/modem.c @@ -1145,11 +1145,8 @@ static void modem_unregister(struct ofono_modem *modem) { DBusConnection *conn = ofono_dbus_get_connection(); - if (modem->driver == NULL) - return; - - remove_all_atoms(modem); - modem->call_ids = 0; + if (modem->powered == TRUE) + set_powered(modem, FALSE); __ofono_watchlist_free(modem->atom_watches); modem->atom_watches = NULL; @@ -1178,10 +1175,7 @@ static void modem_unregister(struct ofono_modem *modem) g_dbus_unregister_interface(conn, modem->path, OFONO_MODEM_INTERFACE); - if (modem->powered == TRUE) - set_powered(modem, FALSE); - - if (modem->driver->remove) + if (modem->driver && modem->driver->remove) modem->driver->remove(modem); g_hash_table_destroy(modem->properties);