ChangeSet 1.1415, 2003/09/03 11:44:49-07:00, [EMAIL PROTECTED]

[PATCH] USB: fix up B0 support in the pl2303 driver.

Thanks to Gernot Fink <[EMAIL PROTECTED]> for pointing this out.


 drivers/usb/serial/pl2303.c |   21 ++++++++++++---------
 1 files changed, 12 insertions(+), 9 deletions(-)


diff -Nru a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
--- a/drivers/usb/serial/pl2303.c       Fri Sep  5 17:59:32 2003
+++ b/drivers/usb/serial/pl2303.c       Fri Sep  5 17:59:32 2003
@@ -245,6 +245,7 @@
        unsigned char *buf;
        int baud;
        int i;
+       u8 control;
 
        dbg("%s -  port %d", __FUNCTION__, port->number);
 
@@ -360,17 +361,19 @@
                             0, 0, buf, 7, 100);
        dbg ("0x21:0x20:0:0  %d", i);
 
-       if (cflag && CBAUD) {
-               u8 control;
-
-               spin_lock_irqsave(&priv->lock, flags);
-               if ((cflag && CBAUD) == B0)
-                       priv->line_control &= ~(CONTROL_DTR | CONTROL_RTS);
-               else
-                       priv->line_control |= (CONTROL_DTR | CONTROL_RTS);
+       /* change control lines if we are switching to or from B0 */
+       spin_lock_irqsave(&priv->lock, flags);
+       control = priv->line_control;
+       if ((cflag & CBAUD) == B0)
+               priv->line_control &= ~(CONTROL_DTR | CONTROL_RTS);
+       else
+               priv->line_control |= (CONTROL_DTR | CONTROL_RTS);
+       if (control != priv->line_control) {
                control = priv->line_control;
                spin_unlock_irqrestore(&priv->lock, flags);
-               set_control_lines (serial->dev, control);
+               set_control_lines(serial->dev, control);
+       } else {
+               spin_unlock_irqrestore(&priv->lock, flags);
        }
        
        buf[0] = buf[1] = buf[2] = buf[3] = buf[4] = buf[5] = buf[6] = 0;



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to