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
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel