Signed-off-by: Sarah Sharp <[EMAIL PROTECTED]> --- drivers/usb/serial/pl2303.c | 46 +++++++++++++++++++++++------------------- 1 files changed, 25 insertions(+), 21 deletions(-)
diff --git a/drivers/usb/serial/pl2303.c b/drivers/usb/serial/pl2303.c index 968a1bc..eaf6655 100644 --- a/drivers/usb/serial/pl2303.c +++ b/drivers/usb/serial/pl2303.c @@ -685,35 +685,39 @@ static int pl2303_open(struct usb_serial_port *port, struct file *filp) if (buf==NULL) return -ENOMEM; -#define FISH(a, b, c, d, result, serial, buf) \ +#define FISH(c, d, result, serial, buf) \ *result=usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev,0), \ - b, a, c, d, buf, 1, 100); \ - dbg("0x%x:0x%x:0x%x:0x%x %d - %x",a,b,c,d,*result,buf[0]); + VENDOR_READ_REQUEST, VENDOR_READ_REQUEST_TYPE, \ + c, d, buf, 1, 100); \ + dbg("0x%x:0x%x:0x%x:0x%x %d - %x", VENDOR_READ_REQUEST_TYPE, \ + VENDOR_READ_REQUEST, c, d, *result, buf[0]); -#define SOUP(a, b, c, d, result, serial) \ +#define SOUP(c, d, result, serial) \ *result=usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev,0), \ - b, a, c, d, NULL, 0, 100); \ - dbg("0x%x:0x%x:0x%x:0x%x %d",a,b,c,d,*result); - - FISH (VENDOR_READ_REQUEST_TYPE, VENDOR_READ_REQUEST, 0x8484, 0, &result, serial, buf); - SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 0x0404, 0, &result, serial); - FISH (VENDOR_READ_REQUEST_TYPE, VENDOR_READ_REQUEST, 0x8484, 0, &result, serial, buf); - FISH (VENDOR_READ_REQUEST_TYPE, VENDOR_READ_REQUEST, 0x8383, 0, &result, serial, buf); - FISH (VENDOR_READ_REQUEST_TYPE, VENDOR_READ_REQUEST, 0x8484, 0, &result, serial, buf); - SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 0x0404, 1, &result, serial); - FISH (VENDOR_READ_REQUEST_TYPE, VENDOR_READ_REQUEST, 0x8484, 0, &result, serial, buf); - FISH (VENDOR_READ_REQUEST_TYPE, VENDOR_READ_REQUEST, 0x8383, 0, &result, serial, buf); - SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 0, 1, &result, serial); - SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 1, 0, &result, serial); + VENDOR_WRITE_REQUEST, VENDOR_WRITE_REQUEST_TYPE, \ + c, d, NULL, 0, 100); \ + dbg("0x%x:0x%x:0x%x:0x%x %d", VENDOR_WRITE_REQUEST_TYPE, \ + VENDOR_WRITE_REQUEST, c, d, *result); + + FISH (0x8484, 0, &result, serial, buf); + SOUP (0x0404, 0, &result, serial); + FISH (0x8484, 0, &result, serial, buf); + FISH (0x8383, 0, &result, serial, buf); + FISH (0x8484, 0, &result, serial, buf); + SOUP (0x0404, 1, &result, serial); + FISH (0x8484, 0, &result, serial, buf); + FISH (0x8383, 0, &result, serial, buf); + SOUP (0, 1, &result, serial); + SOUP (1, 0, &result, serial); if (priv->type == HX) { /* HX chip */ - SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 2, 0x44, &result, serial); + SOUP (2, 0x44, &result, serial); /* reset upstream data pipes */ - SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 8, 0, &result, serial); - SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 9, 0, &result, serial); + SOUP (8, 0, &result, serial); + SOUP (9, 0, &result, serial); } else { - SOUP (VENDOR_WRITE_REQUEST_TYPE, VENDOR_WRITE_REQUEST, 2, 0x24, &result, serial); + SOUP (2, 0x24, &result, serial); } kfree(buf); -- 1.5.3.1 - To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html