Greg -- Here is a fix for a hang on disconnect in the digi_acceleport USB serial driver.
This is http://bugme.osdl.org/show_bug.cgi?id=2459 from long ago. Please apply. Thanks, -- Al Change Log - Fixed hang on disconnect in digi_acceleport USB serial driver. See http://bugme.osdl.org/show_bug.cgi?id=2459. Close after disconnect no longer tries to communicate with the device. Signed-off-by: Al Borchers <[EMAIL PROTECTED]> --- linux-2.6.9-rc1.orig/drivers/usb/serial/digi_acceleport.c 2004-08-14 05:55:31.000000000 -0500 +++ linux-2.6.9-rc1.new/drivers/usb/serial/digi_acceleport.c 2004-09-03 03:43:16.000000000 -0500 @@ -230,7 +230,7 @@ * - Following Documentation/DocBook/kernel-locking.pdf no spin locks * are held when calling copy_to/from_user or printk. * -* $Id: digi_acceleport_2.6.9-rc1_disconnect_hang.patch,v 1.1 2004/09/03 08:49:17 borchers Exp borchers $ +* $Id: digi_acceleport_2.6.9-rc1_disconnect_hang.patch,v 1.1 2004/09/03 08:49:17 borchers Exp borchers $ */ #include <linux/config.h> @@ -1553,13 +1553,17 @@ static void digi_close( struct usb_seria dbg( "digi_close: TOP: port=%d, open_count=%d", priv->dp_port_num, port->open_count ); + /* if disconnected, just clear flags */ + if (!usb_get_intfdata(port->serial->interface)) + goto exit; + /* do cleanup only after final close on this port */ spin_lock_irqsave( &priv->dp_port_lock, flags ); priv->dp_in_close = 1; spin_unlock_irqrestore( &priv->dp_port_lock, flags ); /* tell line discipline to process only XON/XOFF */ - tty->closing = 1; + tty->closing = 1; /* wait for output to drain */ if( (filp->f_flags&(O_NDELAY|O_NONBLOCK)) == 0 ) { @@ -1624,6 +1628,7 @@ dbg( "digi_close: TOP: port=%d, open_cou tty->closing = 0; +exit: spin_lock_irqsave( &priv->dp_port_lock, flags ); priv->dp_write_urb_in_use = 0; priv->dp_in_close = 0; ------------------------------------------------------- This SF.Net email is sponsored by BEA Weblogic Workshop FREE Java Enterprise J2EE developer tools! Get your free copy of BEA WebLogic Workshop 8.1 today. http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel