linux/drivers/usb/serial
Frank Schäfer 7d26a78f62 USB: pl2303: distinguish between original and cloned HX chips
According to Prolific, several (unauthorized) cheap and less functional
clones of the PL2303HX chip are in circulation. [1]
I've had the chance to test such a cloned device and it turned out that
it doesn't support any baud rates above 115200 baud (original: 6 Mbaud)
It also doesn't support the divisior based baud rate encoding method,
so no continuous baud rate adjustment is possible.
Nevertheless, these devices have been working (unintentionally) with
the driver up to commit 61fa8d694b ("pl2303: also use the divisor based
baud rate encoding method for baud rates < 115200 with HX chips"), and
this commit broke support for them.
Fortunately, it is pretty simple to distinguish between the original
and the cloned HX chips, so I've added a check and an extra chip type
to keep the clones working.
The same check is used by the latest Prolific Windows driver, so it
should be solid.

[1] http://www.prolific.com.tw/US/ShowProduct.aspx?p_id=225&pcid=41

Signed-off-by: Frank Schäfer <fschaefer.oss@googlemail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-09-17 09:36:10 -07:00
..
Kconfig USB: fix typo in usb serial simple driver Kconfig 2013-09-17 09:36:10 -07:00
Makefile USB: serial: move the "simple" drivers into usb-serial-simple.c 2013-08-12 12:14:52 -07:00
Makefile-keyspan_pda_fw
aircable.c
ark3116.c USB: serial: make minor allocation dynamic 2013-06-17 13:30:02 -07:00
belkin_sa.c
belkin_sa.h
bus.c Driver core patches for 3.12-rc1 2013-09-03 11:37:15 -07:00
ch341.c USB: ch341: fix TIOCMIWAIT and disconnect 2013-03-25 13:50:52 -07:00
console.c USB: console: remove unnecessary operations test 2013-07-23 16:24:32 -07:00
cp210x.c Merge 3.11-rc3 into usb-next 2013-07-29 07:43:16 -07:00
cyberjack.c USB: cyberjack: fix disconnect handling 2013-03-25 13:48:26 -07:00
cypress_m8.c USB: serial: set drain delay at port probe 2013-07-23 16:21:50 -07:00
cypress_m8.h USB: Serial: cypress_M8: Enable FRWD Dongle hidcom device 2013-06-03 10:33:10 -07:00
digi_acceleport.c USB: serial: ports: add minor and port number 2013-06-10 14:46:40 -07:00
empeg.c
ezusb_convert.pl
f81232.c USB: serial: set drain delay at port probe 2013-07-23 16:21:50 -07:00
ftdi_sio.c USB: serial: clean up attribute permissions 2013-08-25 15:12:03 -07:00
ftdi_sio.h
ftdi_sio_ids.h USB: serial: ftdi_sio: add more RT Systems ftdi devices 2013-07-29 13:38:38 -07:00
garmin_gps.c USB: serial: ports: add minor and port number 2013-06-10 14:46:40 -07:00
generic.c USB: serial: remove hupping check from tiocmiwait 2013-07-23 16:21:50 -07:00
io_16654.h
io_edgeport.c USB: io_edgeport: remove unused defines 2013-07-23 16:28:22 -07:00
io_edgeport.h
io_ionsp.h
io_tables.h USB: io_edgeport: switch to generic TIOCMIWAIT implementation 2013-03-25 13:50:53 -07:00
io_ti.c USB: serial: clean up attribute permissions 2013-08-25 15:12:03 -07:00
io_ti.h
io_usbvend.h
ipaq.c
ipw.c
ir-usb.c
iuu_phoenix.c USB: serial: clean up attribute permissions 2013-08-25 15:12:03 -07:00
iuu_phoenix.h
keyspan.c Merge 3.11-rc6 into usb-next 2013-08-18 20:33:01 -07:00
keyspan.h
keyspan_pda.c USB patches for 3.10-rc1 2013-04-29 12:19:23 -07:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
kl5kusb105.c USB: kl5kusb105: always disable uart on close 2013-03-25 13:54:31 -07:00
kl5kusb105.h
kobil_sct.c USB: kobil_sct: use port interrupt-out urb 2013-04-17 10:05:35 -07:00
kobil_sct.h
mct_u232.c USB: mct_u232: clean up read implementation 2013-04-17 10:05:35 -07:00
mct_u232.h
metro-usb.c USB: serial: ports: add minor and port number 2013-06-10 14:46:40 -07:00
mos7720.c USB: mos7720: fix big-endian control requests 2013-08-19 17:02:11 -07:00
mos7840.c Merge 3.11-rc6 into usb-next 2013-08-18 20:33:01 -07:00
navman.c
omninet.c USB: omninet: switch to generic read implementation 2013-04-17 10:05:34 -07:00
opticon.c USB: serial: make minor allocation dynamic 2013-06-17 13:30:02 -07:00
option.c usb: serial: option.c: remove ONDA MT825UP product ID fromdriver 2013-07-25 11:28:31 -07:00
oti6858.c USB: oti6858: do not call set_termios with uninitialised data 2013-07-23 16:24:33 -07:00
oti6858.h
pl2303.c USB: pl2303: distinguish between original and cloned HX chips 2013-09-17 09:36:10 -07:00
pl2303.h
qcaux.c qcaux: add Franklin U600 2013-03-11 11:09:17 -07:00
qcserial.c USB: option,qcserial: move Novatel Gobi1K IDs to qcserial 2013-06-24 16:21:53 -07:00
quatech2.c USB: quatech2: fix port DMA-buffer allocations 2013-08-14 13:51:02 -07:00
safe_serial.c USB: safe_serial: remove vendor/product module parameters 2013-07-23 16:28:23 -07:00
sierra.c USB: serial: ports: add minor and port number 2013-06-10 14:46:40 -07:00
spcp8x5.c USB: serial: set drain delay at port probe 2013-07-23 16:21:50 -07:00
ssu100.c USB: serial: make minor allocation dynamic 2013-06-17 13:30:02 -07:00
symbolserial.c USB: symbolserial: move private-data allocation to port_probe 2013-04-17 10:05:35 -07:00
ti_usb_3410_5052.c Merge 3.11-rc6 into usb-next 2013-08-18 20:33:01 -07:00
ti_usb_3410_5052.h USB: serial: ti_usb_3410_5052: new device id for Abbot strip port cable 2013-06-19 15:54:45 -07:00
usb-serial-simple.c USB: serial: fix stringify operator in usb-serial-simple 2013-08-18 13:11:06 -07:00
usb-serial.c USB: serial: clean up dtr_rts 2013-07-23 16:21:50 -07:00
usb-wwan.h
usb_debug.c
usb_wwan.c USB-Serial: Fix error handling of usb_wwan 2013-08-12 13:45:26 -07:00
visor.c USB: visor: fix initialisation of Treo/Kyocera devices 2013-05-29 10:47:45 +09:00
visor.h
whiteheat.c USB: serial: make minor allocation dynamic 2013-06-17 13:30:02 -07:00
whiteheat.h
wishbone-serial.c USB: serial: wishbone-serial: fix up minor sparse warning 2013-04-11 08:45:34 -07:00
xsens_mt.c
zte_ev.c USB: option,zte_ev: move most ZTE CDMA devices to zte_ev 2013-06-06 09:06:25 -07:00