ChangeSet 1.1832.55.13, 2004/09/03 13:29:11+02:00, [EMAIL PROTECTED]

[PATCH] USB: corrected digi_acceleport 2.6.9-rc1 fix for hang on disconnect

- 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]>
Signed-off-by: Greg Kroah-Hartman <[EMAIL PROTECTED]>


 drivers/usb/serial/digi_acceleport.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletion(-)


diff -Nru a/drivers/usb/serial/digi_acceleport.c b/drivers/usb/serial/digi_acceleport.c
--- a/drivers/usb/serial/digi_acceleport.c      2004-10-19 08:19:17 -07:00
+++ b/drivers/usb/serial/digi_acceleport.c      2004-10-19 08:19:17 -07:00
@@ -1553,13 +1553,17 @@
 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 @@
 
        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: IT Product Guide on ITManagersJournal
Use IT products in your business? Tell us what you think of them. Give us
Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more
http://productguide.itmanagersjournal.com/guidepromo.tmpl
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to