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