linux/drivers/net/usb
Bjørn Mork c086e70961 cdc_ncm: workaround for EM7455 "silent" data interface
Several Lenovo users have reported problems with their Sierra
Wireless EM7455 modem. The driver has loaded successfully and
the MBIM management channel has appeared to work, including
establishing a connection to the mobile network. But no frames
have been received over the data interface.

The problem affects all EM7455 and MC7455, and is assumed to
affect other modems based on the same Qualcomm chipset and
baseband firmware.

Testing narrowed the problem down to what seems to be a
firmware timing bug during initialization. Adding a short sleep
while probing is sufficient to make the problem disappear.
Experiments have shown that 1-2 ms is too little to have any
effect, while 10-20 ms is enough to reliably succeed.

Reported-by: Stefan Armbruster <ml001@armbruster-it.de>
Reported-by: Ralph Plawetzki <ralph@purejava.org>
Reported-by: Andreas Fett <andreas.fett@secunet.com>
Reported-by: Rasmus Lerdorf <rasmus@lerdorf.com>
Reported-by: Samo Ratnik <samo.ratnik@gmail.com>
Reported-and-tested-by: Aleksander Morgado <aleksander@aleksander.es>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
2016-07-04 16:12:03 -07:00
..
asix_common.c asix: Fix offset calculation in asix_rx_fixup() causing slow transmissions 2016-05-17 14:02:33 -04:00
asix_devices.c net: asix: add support for the Billionton GUSB2AM-1G-B USB adapter 2015-10-18 19:36:04 -07:00
asix.h asix: Rename remaining and size for clarity 2015-10-05 06:58:38 -07:00
ax88172a.c asix: do not free array priv->mdio->irq 2016-03-06 22:56:48 -05:00
ax88179_178a.c
catc.c treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
cdc_eem.c
cdc_ether.c cdc-acm: fix NULL pointer reference 2016-01-09 21:00:24 -05:00
cdc_mbim.c cdc_mbim: apply "NDP to end" quirk to all Huawei devices 2016-04-14 21:04:04 -04:00
cdc_ncm.c cdc_ncm: workaround for EM7455 "silent" data interface 2016-07-04 16:12:03 -07:00
cdc_subset.c
cdc-phonet.c cdc-phonet: use common parser 2015-09-15 12:43:49 -07:00
ch9200.c net: usb: ch9200: use kmemdup 2016-05-20 19:50:07 -04:00
cx82310_eth.c cx82310_eth: fix semicolon.cocci warnings 2015-03-24 14:56:02 -04: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 tty: Replace TTY_THROTTLED bit tests with tty_throttled() 2016-04-30 09:26:55 -07:00
huawei_cdc_ncm.c cdc_ncm: Add support for moving NDP to end of NCM frame 2015-07-09 14:58:31 -07:00
int51x1.c
ipheth.c
kalmia.c
kaweth.c treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
Kconfig USB: cdc_subset: only build when one driver is enabled 2016-02-18 15:59:45 -05:00
lan78xx.c treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
lan78xx.h lan78xx: replace devid to chipid & chiprev 2016-02-29 17:12:07 -05:00
lg-vl600.c net: usb: Use eth_<foo>_addr instead of memset 2015-03-03 17:01:36 -05:00
Makefile USB: cdc_subset: only build when one driver is enabled 2016-02-18 15:59:45 -05: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 net: pegasus: simplify logical constraint 2016-05-23 13:48:45 -07:00
pegasus.h
plusb.c drivers/net/usb/plusb.c: Fix typo 2016-03-27 22:33:56 -04:00
qmi_wwan.c qmi_wwan: add "D-Link DWM-221 B1" device id 2016-03-28 20:12:01 -04:00
r8152.c r8152: clear LINK_OFF_WAKE_EN after autoresume 2016-07-01 05:56:39 -04:00
rndis_host.c
rtl8150.c treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
sierra_net.c
smsc75xx.c usbnet/smsc75xx: silence uninitialized variable warning 2016-05-04 16:58:56 -04:00
smsc75xx.h
smsc95xx.c usbnet: smsc95xx: fix link detection for disabled autonegotiation 2016-05-31 14:22:23 -07:00
smsc95xx.h
sr9700.c net: usb: sr9700: Use 'SR_' prefix for the common register macros 2015-02-04 13:53:02 -08:00
sr9700.h net: usb: sr9700: Use 'SR_' prefix for the common register macros 2015-02-04 13:53:02 -08:00
sr9800.c drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
sr9800.h
usbnet.c usbnet: Stop RX Q on MTU change 2016-06-30 09:05:05 -04:00
zaurus.c