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 TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
ark3116.c USB: serial: make minor allocation dynamic 2013-06-17 13:30:02 -07:00
belkin_sa.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
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 USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
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 USB: ftdi_sio: add support for FT-X series devices 2012-03-14 15:43:05 -07:00
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 Fix common misspellings 2011-03-31 11:26:23 -03:00
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 USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
ipw.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
ir-usb.c TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
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 USB: keyspan: fix NULL-pointer dereferences and memory leaks 2012-10-25 09:37:13 -07:00
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 Update broken web addresses in the kernel. 2010-10-18 11:03:14 +02:00
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 TTY: switch tty_flip_buffer_push 2013-01-15 22:30:15 -08:00
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 USB: serial: pl2303: rm duplicate id 2011-11-15 10:06:15 -08:00
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: usb-wwan: fix multiple memory leaks in error paths 2012-10-25 09:37:13 -07:00
usb_debug.c USB: serial: rework usb_serial_register/deregister_drivers() 2012-05-08 15:46:14 -07:00
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 usb: add driver for xsens motion trackers 2013-01-25 09:56:54 -08:00
zte_ev.c USB: option,zte_ev: move most ZTE CDMA devices to zte_ev 2013-06-06 09:06:25 -07:00