linux-uconsole/drivers/net/usb
Bjørn Mork 10bffef7fb qmi_wwan: do not steal interfaces from class drivers
[ Upstream commit 5697db4a69 ]

The USB_DEVICE_INTERFACE_NUMBER matching macro assumes that
the { vendorid, productid, interfacenumber } set uniquely
identifies one specific function.  This has proven to fail
for some configurable devices. One example is the Quectel
EM06/EP06 where the same interface number can be either
QMI or MBIM, without the device ID changing either.

Fix by requiring the vendor-specific class for interface number
based matching.  Functions of other classes can and should use
class based matching instead.

Fixes: 03304bcb5e ("net: qmi_wwan: use fixed interface number matching")
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2018-05-26 08:48:47 +02:00
..
asix.h asix: Rename remaining and size for clarity 2015-10-05 06:58:38 -07:00
asix_common.c asix: Fix offset calculation in asix_rx_fixup() causing slow transmissions 2016-06-01 12:15:49 -07:00
asix_devices.c net: asix: add support for the Billionton GUSB2AM-1G-B USB adapter 2015-10-18 19:36:04 -07:00
ax88172a.c
ax88179_178a.c
catc.c catc: Use heap buffer for memory size test 2017-04-21 09:30:08 +02:00
cdc-phonet.c cdc-phonet: use common parser 2015-09-15 12:43:49 -07:00
cdc_eem.c
cdc_ether.c r8152: add Linksys USB3GIGV1 id 2018-04-29 07:50:01 +02:00
cdc_mbim.c cdc_mbim: apply "NDP to end" quirk to all Huawei devices 2016-05-18 17:06:36 -07:00
cdc_ncm.c net: cdc_ncm: Fix TX zero padding 2018-04-13 19:50:02 +02:00
cdc_subset.c
ch9200.c ch9200: Convert to use module_usb_driver 2015-09-22 17:34:57 -07:00
cx82310_eth.c cx82310_eth: use skb_cow_head() to deal with cloned skbs 2018-01-17 09:35:28 +01:00
dm9601.c drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
gl620a.c
hso.c
huawei_cdc_ncm.c cdc_ncm: Set NTB format again after altsetting switch for Huawei devices 2017-11-15 17:13:11 +01:00
int51x1.c
ipheth.c
kalmia.c
kaweth.c kaweth: fix oops upon failed memory allocation 2017-08-06 19:19:42 -07:00
Kconfig USB: cdc_subset: only build when one driver is enabled 2018-02-25 11:03:47 +01:00
lan78xx.c lan78xx: Correctly indicate invalid OTP 2018-04-24 09:32:04 +02:00
lan78xx.h lan78xx: Remove not defined MAC_CR_GMII_EN_ bit from MAC_CR. 2015-09-17 22:15:37 -07:00
lg-vl600.c
Makefile USB: cdc_subset: only build when one driver is enabled 2018-02-25 11:03:47 +01:00
mcs7830.c drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
net1080.c
pegasus.c pegasus: Use heap buffers for all register access 2017-04-21 09:30:07 +02:00
pegasus.h
plusb.c usb: plusb: Add support for PL-27A1 2017-10-08 10:14:19 +02:00
qmi_wwan.c qmi_wwan: do not steal interfaces from class drivers 2018-05-26 08:48:47 +02:00
r8152.c r8152: add Linksys USB3GIGV1 id 2018-04-29 07:50:01 +02:00
rndis_host.c
rtl8150.c rtl8150: Use heap buffers for all register access 2017-04-21 09:30:07 +02:00
sierra_net.c sierra_net: Add support for IPv6 and Dual-Stack Link Sense Indications 2017-06-17 06:39:36 +02:00
smsc75xx.c smsc75xx: use skb_cow_head() to deal with cloned skbs 2018-01-17 09:35:28 +01:00
smsc75xx.h
smsc95xx.c usbnet: remove invalid check 2015-09-22 16:14:32 -07:00
smsc95xx.h
sr9700.c sr9700: use skb_cow_head() to deal with cloned skbs 2018-01-17 09:35:28 +01:00
sr9700.h
sr9800.c drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
sr9800.h
usbnet.c USB: core: harden cdc_parse_cdc_header 2017-10-12 11:27:33 +02:00
zaurus.c