summaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/pl2303.c
diff options
context:
space:
mode:
authorDariusz M2005-07-28 18:06:13 +0200
committerGreg Kroah-Hartman2005-09-09 01:22:28 +0200
commit1694899fd1af43636351aac97f415fd3c9cefb1d (patch)
treed849892672ad4441f7539322680158e3f928b1db /drivers/usb/serial/pl2303.c
parent[PATCH] USB: fix keyspan_remote endian bug on probe (diff)
downloadkernel-qcow2-linux-1694899fd1af43636351aac97f415fd3c9cefb1d.tar.gz
kernel-qcow2-linux-1694899fd1af43636351aac97f415fd3c9cefb1d.tar.xz
kernel-qcow2-linux-1694899fd1af43636351aac97f415fd3c9cefb1d.zip
[PATCH] USB: pl2303 driver, makes pl2303HX chip work correctly
This trivial patch makes pl2303 driver work correctly with pl2303HX chip. Apparently some bug in HX version of pl2303 makes the chip loose some transmitted bytes or stop working at all after reception of USB_REQ_CLEAR_FEATURE mesage. Logs generated by UsbSnoop application reveal that windows driver does not send this type of messages to the converter. From: "Dariusz M." <D.Marcinkiewicz@elka.pw.edu.pl> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial/pl2303.c')
-rw-r--r--drivers/usb/serial/pl2303.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c
index 7eab5d4cf3a8..461474176cfb 100644
--- a/drivers/usb/serial/pl2303.c
+++ b/drivers/usb/serial/pl2303.c
@@ -538,8 +538,10 @@ static int pl2303_open (struct usb_serial_port *port, struct file *filp)
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)