summaryrefslogtreecommitdiffstats
path: root/src/modem.c
diff options
context:
space:
mode:
authorDenis Kenzior <denkenz@gmail.com>2009-12-02 15:40:45 -0600
committerDenis Kenzior <denkenz@gmail.com>2009-12-02 19:10:07 -0600
commit6266e3f67963088b27c1ed31292278dbc4ebf9d1 (patch)
treee3f00acaf7eb9e4a9385841507d6cecfcb066947 /src/modem.c
parentdac0ccc8a8696bbf0f8db26218fa5d9ff7304d4f (diff)
downloadofono-6266e3f67963088b27c1ed31292278dbc4ebf9d1.tar.bz2
Refactor: modem de-registration
Diffstat (limited to 'src/modem.c')
-rw-r--r--src/modem.c12
1 files 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);