linux/drivers/usb/serial
Bjørn Mork 1f3f687722 USB: option: add Huawei "ACM" devices using protocol = vendor
The USB device descriptor of one identity presented by a few
Huawei morphing devices have serial functions with class codes
02/02/ff, indicating CDC ACM with a vendor specific protocol. This
combination is often used for MSFT RNDIS functions, and the CDC
ACM class driver will therefore ignore such functions.

The CDC ACM class driver cannot support functions with only 2
endpoints.  The underlying serial functions of these modems are
also believed to be the same as for alternate device identities
already supported by the option driver. Letting the same driver
handle these functions independently of the current identity
ensures consistent handling and user experience.

There is no need to blacklist these devices in the rndis_host
driver. Huawei serial functions will either have only 2 endpoints
or a CDC ACM functional descriptor with bmCapabilities != 0, making
them correctly ignored as "non RNDIS" by that driver.

Cc: stable <stable@vger.kernel.org>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-02-13 15:57:53 -08:00
..
aircable.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
ark3116.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
belkin_sa.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
belkin_sa.h
bus.c usb-core: remove CONFIG_HOTPLUG ifdefs 2012-11-21 13:27:16 -08:00
ch341.c USB: ch341: fix port-data memory leak 2012-10-25 09:36:57 -07:00
console.c USB merge for 3.7-rc1 2012-10-01 13:23:01 -07:00
cp210x.c USB: add OWL CM-160 support to cp210x driver 2013-01-31 13:51:12 +01:00
cyberjack.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
cypress_m8.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
cypress_m8.h
digi_acceleport.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
empeg.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
ezusb_convert.pl
f81232.c USB: f81232: fix port-data memory leak 2012-10-17 13:47:58 -07:00
ftdi_sio_ids.h USB: ftdi_sio: add Zolix FTDI PID 2013-02-02 13:31:52 +01:00
ftdi_sio.c USB: serial: fix null-pointer dereferences on disconnect 2013-02-13 09:20:06 -08:00
ftdi_sio.h USB: ftdi_sio: add support for FT-X series devices 2012-03-14 15:43:05 -07:00
funsoft.c USB: serial: funsoft.c: remove debug module parameter 2012-09-14 12:31:27 -07:00
garmin_gps.c USB: fix port probing and removal in garmin_gps 2012-10-16 10:25:55 -07:00
generic.c USB: serial: export usb_serial_generic_chars_in_buffer 2012-10-30 13:19:30 -07:00
hp4x.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
io_16654.h
io_edgeport.c USB: serial: remove driver version information 2012-10-31 12:48:06 -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: fix port-data memory leak 2012-10-17 13:47:58 -07:00
io_ti.c USB: io_ti: kill custom closing_wait implementation 2013-01-18 15:45:17 -08: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 USB merge for 3.7-rc1 2012-10-01 13:23:01 -07:00
iuu_phoenix.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
iuu_phoenix.h
Kconfig usb: add driver for xsens motion trackers 2013-01-25 09:56:54 -08:00
keyspan_pda.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
keyspan.c usb: serial: keyspan: fixed coding style issues 2013-01-11 16:03:37 -08:00
keyspan.h USB: keyspan: fix NULL-pointer dereferences and memory leaks 2012-10-25 09:37:13 -07:00
kl5kusb105.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
kl5kusb105.h
kobil_sct.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
kobil_sct.h
Makefile usb: add driver for xsens motion trackers 2013-01-25 09:56:54 -08:00
Makefile-keyspan_pda_fw
mct_u232.c USB: serial: fix null-pointer dereferences on disconnect 2013-02-13 09:20:06 -08:00
mct_u232.h
metro-usb.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
mos7720.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
mos7840.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
moto_modem.c USB: serial: rework usb_serial_register/deregister_drivers() 2012-05-08 15:46:14 -07:00
navman.c USB: Serial: navman.c: remove debug module parameter 2012-09-18 10:16:01 +01:00
omninet.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
opticon.c USB: opticon: switch to generic read implementation 2012-11-21 13:33:56 -08:00
option.c USB: option: add Huawei "ACM" devices using protocol = vendor 2013-02-13 15:57:53 -08:00
oti6858.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
oti6858.h
pl2303.c USB: pl2303: fix port-data memory leak 2012-10-16 10:25:54 -07:00
pl2303.h USB: serial: pl2303: rm duplicate id 2011-11-15 10:06:15 -08:00
qcaux.c USB: qcaux: add Pantech vendor class match 2012-09-21 09:42:02 -07:00
qcserial.c USB: qcserial: add Telit Gobi QDL device 2013-01-30 06:19:20 +01:00
quatech2.c USB: serial: fix null-pointer dereferences on disconnect 2013-02-13 09:20:06 -08:00
safe_serial.c USB: serial: safe-serial: fix up printk() usage 2012-09-18 17:07:24 +01:00
siemens_mpi.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
sierra.c USB: serial: fix null-pointer dereferences on disconnect 2013-02-13 09:20:06 -08:00
spcp8x5.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
ssu100.c USB: serial: fix null-pointer dereferences on disconnect 2013-02-13 09:20:06 -08:00
symbolserial.c USB: Serial: symbolserial.c: remove debug module parameter 2012-09-18 10:16:20 +01:00
ti_usb_3410_5052.c USB: ti_usb_3410_5052: fix port-data memory leak 2012-10-17 13:47:59 -07:00
ti_usb_3410_5052.h USB: serial: ti_usb_3410_5052: Add support for the FRI2 serial console 2012-05-11 15:14:07 -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 null-pointer dereferences on disconnect 2013-02-13 09:20:06 -08:00
usb-serial.c USB: serial: fix null-pointer dereferences on disconnect 2013-02-13 09:20:06 -08:00
usb-wwan.h USB: usb-wwan: fix multiple memory leaks in error paths 2012-10-25 09:37:13 -07:00
visor.c USB: Serial: visor.c: remove debug module parameter 2012-09-18 10:16:28 +01:00
visor.h
vivopay-serial.c USB: serial: remove driver version information 2012-10-31 12:48:06 -07:00
whiteheat.c USB: whiteheat: fix port-data memory leak 2012-10-25 09:36:57 -07:00
whiteheat.h
xsens_mt.c usb: add driver for xsens motion trackers 2013-01-25 09:56:54 -08:00
zio.c USB: serial: rework usb_serial_register/deregister_drivers() 2012-05-08 15:46:14 -07:00
zte_ev.c USB: serial: add zte_ev.c driver 2012-09-13 10:15:14 -07:00