Hello.

        Currently the pl2303 driver have some problems with HX version
of pl2303 chip. Read or write after open operation looses 
first transmited byte, sometimes device stops to work after reopen and no 
data can be sent. I sniffed traffic between windows driver and the
device. Win driver sents a lots of control messages during open
operation which linux driver does not. But it does not seem to 
be the problem. There is one type of message which is never issued by windows 
driver which pl2303 issues and which apparently causes of these troubles. 
The message in question is USB_REQ_CLEAR_FEATURE sent by usb_clear_halt 
in pl2303_open routine. 
        So, I propose following patch to pl2303 which eliminates
problems mentioned above.

--- linux-2.6.11.8/drivers/usb/serial/pl2303.c.orig     2005-07-28 
17:33:57.000000000 +0200
+++ linux-2.6.11.8/drivers/usb/serial/pl2303.c  2005-07-28 17:38:55.000000000 
+0200
@@ -537,8 +537,10 @@ static int pl2303_open (struct usb_seria
 
        dbg("%s -  port %d", __FUNCTION__, port->number);
 
-       usb_clear_halt(serial->dev, port->write_urb->pipe);
-       usb_clear_halt(serial->dev, port->read_urb->pipe);
+       if (priv->type != HX) {
+               usb_clear_halt(serial->dev, port->write_urb->pipe);
+               usb_clear_halt(serial->dev, port->read_urb->pipe);
+       }
 
        buf = kmalloc(10, GFP_KERNEL);
        if (buf==NULL)

Thanks.
-- 
DM


-------------------------------------------------------
SF.Net email is sponsored by: Discover Easy Linux Migration Strategies
from IBM. Find simple to follow Roadmaps, straightforward articles,
informative Webcasts and more! Get everything you need to get up to
speed, fast. http://ads.osdn.com/?ad_id=7477&alloc_id=16492&op=click
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to