diff --git a/src/usb_moded-modules.c b/src/usb_moded-modules.c index 43b0c4f..22b4c0e 100644 --- a/src/usb_moded-modules.c +++ b/src/usb_moded-modules.c @@ -34,6 +34,9 @@ #include "usb_moded-dbus.h" #include "usb_moded-dbus-private.h" #include "usb_moded-config.h" +#ifdef NOKIA +#include "usb_moded-modesetting.h" +#endif /** load module * @@ -261,8 +264,9 @@ void check_module_state(const char *module_name) #ifdef NOKIA -gboolean usb_module_timeout_cleanup(gpointer data) +gboolean usb_cleanup_timeout(gpointer data) { + usb_moded_mode_cleanup(get_usb_module()); usb_moded_module_cleanup(get_usb_module()); return FALSE; } diff --git a/src/usb_moded-modules.h b/src/usb_moded-modules.h index 7c3006d..e674cb5 100644 --- a/src/usb_moded-modules.h +++ b/src/usb_moded-modules.h @@ -53,5 +53,5 @@ void check_module_state(const char *module_name); #ifdef NOKIA /* handler for a cleanup after a timeout */ -gboolean usb_module_timeout_cleanup(gpointer data); +gboolean usb_cleanup_timeout(gpointer data); #endif /* NOKIA */ diff --git a/src/usb_moded.c b/src/usb_moded.c index 0286210..482155f 100644 --- a/src/usb_moded.c +++ b/src/usb_moded.c @@ -129,9 +129,10 @@ static gboolean set_disconnected(gpointer data) usb_moded_send_signal(USB_DISCONNECTED); #ifdef NOKIA /* delayed clean-up of state */ - timeout_source = g_timeout_add_seconds(5, usb_module_timeout_cleanup, NULL); + timeout_source = g_timeout_add_seconds(5, usb_cleanup_timeout, NULL); #else /* unload modules and general cleanup */ + usb_moded_mode_cleanup(get_usb_module()); usb_moded_module_cleanup(get_usb_module()); #endif /* NOKIA */