mirror of git://git.sysmocom.de/ofono
cdma-voicecall: Fix for crash when unregistering atom
This commit is contained in:
parent
b91726213c
commit
388fe2f45a
|
@ -335,6 +335,18 @@ void ofono_cdma_voicecall_driver_unregister(
|
|||
g_drivers = g_slist_remove(g_drivers, (void *)d);
|
||||
}
|
||||
|
||||
static void cdma_voicecall_unregister(struct ofono_atom *atom)
|
||||
{
|
||||
DBusConnection *conn = ofono_dbus_get_connection();
|
||||
struct ofono_modem *modem = __ofono_atom_get_modem(atom);
|
||||
const char *path = __ofono_atom_get_path(atom);
|
||||
|
||||
g_dbus_unregister_interface(conn, path,
|
||||
OFONO_CDMA_VOICECALL_MANAGER_INTERFACE);
|
||||
ofono_modem_remove_interface(modem,
|
||||
OFONO_CDMA_VOICECALL_MANAGER_INTERFACE);
|
||||
}
|
||||
|
||||
static void voicecall_manager_remove(struct ofono_atom *atom)
|
||||
{
|
||||
struct ofono_cdma_voicecall *vc = __ofono_atom_get_data(atom);
|
||||
|
@ -405,6 +417,8 @@ void ofono_cdma_voicecall_register(struct ofono_cdma_voicecall *vc)
|
|||
|
||||
ofono_modem_add_interface(modem,
|
||||
OFONO_CDMA_VOICECALL_MANAGER_INTERFACE);
|
||||
|
||||
__ofono_atom_register(vc->atom, cdma_voicecall_unregister);
|
||||
}
|
||||
|
||||
void ofono_cdma_voicecall_remove(struct ofono_cdma_voicecall *vc)
|
||||
|
|
Loading…
Reference in New Issue