linux/drivers/net/usb
Bjørn Mork dad957d738 net: cdc_ncm: workaround NTB input size firmware bug
Some devices do not support the 8 byte variants of the NTB input
size control messages despite announcing such support in their
NCM or MBIM functional descriptor.

According to the NCM specification, all devices must support the
4 byte variant regardless of whether or not the flag is set:

  If bit D5 is set in the bmNetworkCapabilities field of
  function’s NCM Functional Descriptor, the host may
  set wLength either to 4 or to 8. If wLength is 4, the
  function shall assume that wNtbInMaxDatagrams is to be
  set to zero. If wLength is 8, then the function shall
  use the provided value as the limit. The function shall
  return an error response (a STALL PID) if wLength is set
  to any other value.

We do not set wNtbInMaxDatagrams in any case, so we can just as
well unconditionally use the 4 byte variant without losing any
functionality.  This works around the known firmware bug, and
simplifies the code considerably.

Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-10-23 02:40:10 -04:00
..
asix_common.c asix: Add support for programming the EEPROM 2012-07-19 10:48:07 -07:00
asix_devices.c asix: Adds support for Lenovo 10/100 USB dongle. 2012-10-01 17:33:00 -04:00
asix.h asix: Add support for programming the EEPROM 2012-07-19 10:48:07 -07:00
ax88172a.c asix: Add support for programming the EEPROM 2012-07-19 10:48:07 -07:00
catc.c USB: remove dbg() usage in USB networking drivers 2012-09-20 17:53:14 -04:00
cdc_eem.c usbnet: Support devices reporting idleness 2012-10-11 15:19:21 -04:00
cdc_ether.c USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
cdc_ncm.c net: cdc_ncm: workaround NTB input size firmware bug 2012-10-23 02:40:10 -04:00
cdc_subset.c USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
cdc-phonet.c cdc-phonet: Don't leak in usbpn_open 2012-08-08 16:04:47 -07:00
cx82310_eth.c net: cx82310_eth: use common match macro 2012-09-03 13:51:02 -04:00
dm9601.c USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
gl620a.c USB: remove dbg() usage in USB networking drivers 2012-09-20 17:53:14 -04:00
hso.c TTY: use tty_port_register_device 2012-08-13 16:50:19 -07:00
int51x1.c USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
ipheth.c usb/ipheth: Add iPhone 5 support 2012-10-18 15:34:30 -04:00
kalmia.c USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
kaweth.c kaweth: print correct debug ptr 2012-10-11 15:12:33 -04:00
Kconfig asix: AX88172A driver depends on phylib 2012-07-19 10:48:07 -07:00
lg-vl600.c USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
Makefile asix: Add a new driver for the AX88172A 2012-07-16 23:26:23 -07:00
mcs7830.c mcs7830: Fix link state detection 2012-10-12 13:56:52 -04:00
net1080.c net1080: Neaten netdev_dbg use 2012-09-20 22:05:22 -04:00
pegasus.c usbnet:pegasus: remove usb_get/put_dev in .probe and .disconnect 2012-06-12 18:50:23 -07:00
pegasus.h
plusb.c USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
qmi_wwan.c net: qmi_wwan: adding more ZTE devices 2012-10-18 15:34:30 -04:00
rndis_host.c USB 3.5-rc1 pull request 2012-05-22 15:50:46 -07:00
rtl8150.c USB: remove dbg() usage in USB networking drivers 2012-09-20 17:53:14 -04:00
sierra_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-09-15 11:43:53 -04:00
smsc75xx.c smsc75xx: add wol magic packet support 2012-09-28 18:35:47 -04:00
smsc75xx.h smsc75xx: replace 0xffff with PHY_INT_SRC_CLEAR_ALL 2012-05-07 23:43:56 -04:00
smsc95xx.c smsc95xx: add wol magic packet support 2012-09-28 18:34:58 -04:00
smsc95xx.h smsc95xx: add wol magic packet support 2012-09-28 18:34:58 -04:00
usbnet.c usbnet: Support devices reporting idleness 2012-10-11 15:19:21 -04:00
zaurus.c USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00