From 45df8078b3e390675d1434bc381110d27e985389 Mon Sep 17 00:00:00 2001 From: Philippe De Swert Date: Tue, 19 Jul 2011 11:37:39 +0300 Subject: [PATCH] finalize disconnect/undefined signalling fix Signed-off-by: Philippe De Swert --- debian/changelog | 3 ++- src/usb_moded-modules.c | 1 - src/usb_moded.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/debian/changelog b/debian/changelog index 37dd617..a6efa7b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,6 +1,7 @@ usb-moded (0.45) unstable; urgency=low - * Send disconnect signal only after clean-up has been done. + * Only signal MODE_UNDEFINED when we have actually done all the modesetting handling + after disconnect. Fixes: NB#273204 * Actually use cdrom timeout -- Philippe De Swert Wed, 13 Jul 2011 14:45:42 +0300 diff --git a/src/usb_moded-modules.c b/src/usb_moded-modules.c index 94a733e..ca2254d 100644 --- a/src/usb_moded-modules.c +++ b/src/usb_moded-modules.c @@ -267,7 +267,6 @@ void check_module_state(const char *module_name) #ifdef NOKIA gboolean usb_cleanup_timeout(gpointer data) { - usb_moded_send_signal(USB_DISCONNECTED); usb_moded_mode_cleanup(get_usb_module()); usb_moded_module_cleanup(get_usb_module()); set_usb_mode(MODE_UNDEFINED); diff --git a/src/usb_moded.c b/src/usb_moded.c index d2a34fc..349d71e 100644 --- a/src/usb_moded.c +++ b/src/usb_moded.c @@ -130,12 +130,12 @@ static gboolean set_disconnected(gpointer data) if(!get_usb_connection_state()) { log_debug("usb disconnected\n"); + /* signal usb disconnected */ + usb_moded_send_signal(USB_DISCONNECTED); #ifdef NOKIA /* delayed clean-up of state */ timeout_source = g_timeout_add_seconds(3, usb_cleanup_timeout, NULL); #else - /* signal usb disconnected */ - usb_moded_send_signal(USB_DISCONNECTED); /* unload modules and general cleanup */ usb_moded_mode_cleanup(get_usb_module()); usb_moded_module_cleanup(get_usb_module());