linux/drivers/net/usb
Bjørn Mork 844e88f044 net: cdc_mbim: send ZLP only for the specific buggy device
Reverting 328d7b8 and instead adding an exception for the
Sierra Wireless MC7710.

commit 328d7b8 (net: cdc_mbim: send ZLP after max sized NTBs)
added a workaround for an issue observed on one specific device.
Concerns were raised that this workaround adds a performance
penalty to all devices based on questionable, if not buggy,
behaviour of a single device:

 "If you add ZLP for NTBs of dwNtbOutMaxSize, you are heavily affecting CPU
  load, increasing interrupt load by factor of 2 in high load traffic
  scenario and possibly decreasing throughput for all other devices
  which behaves correctly."

 "The idea of NCM was to avoid extra ZLPs. If your transfer is exactly
  dwNtbOutMaxSize, it's known, you can submit such request on the receiver
  side and you do not need any EOT indicatation, so the frametime can be
  used for useful data."

Adding a device specific exception to prevent the workaround from
affecting well behaved devices.

The assumption here is that needing a ZLP is truly an *exception*.
We do not yet have enough data to verify this.  The generic
workaround in commit 328d7b8 should be considered acceptable despite
the performance penalty if the exception list becomes a maintainance
hassle.

Cc: Alexey ORISHKO <alexey.orishko@stericsson.com>
Cc: Yauheni Kaliuta <y.kaliuta@gmail.com>
Signed-off-by: Bjørn Mork <bjorn@mork.no>
Signed-off-by: David S. Miller <davem@davemloft.net>
2013-01-23 13:45:49 -05:00
..
asix_common.c usbnet: asix: apply introduced usb command APIs 2012-10-26 03:36:50 -04:00
asix_devices.c asix: use ramdom hw addr if the one read is not valid 2012-11-23 14:29:51 -05: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 net: usb: cdc_eem: Fix rx skb allocation for 802.1Q VLANs 2012-11-07 21:12:26 -05:00
cdc_ether.c use generic usbnet_manage_power() 2012-12-19 12:46:40 -08:00
cdc_mbim.c net: cdc_mbim: send ZLP only for the specific buggy device 2013-01-23 13:45:49 -05:00
cdc_ncm.c cdc_ncm: add support FLAG_NOARP for Infineon modem platform 2013-01-21 14:24:37 -05: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 usbnet: dm9601: Fix incorrect command 2013-01-16 15:55:07 -05:00
gl620a.c USB: remove dbg() usage in USB networking drivers 2012-09-20 17:53:14 -04:00
hso.c TTY: call tty_port_destroy in the rest of drivers 2012-11-15 17:20:58 -08:00
int51x1.c usbnet: int51x1: apply introduced usb command APIs 2012-10-26 03:36:51 -04: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 smsc75xx: add wol support for more frame types 2012-11-03 15:24:01 -04:00
lg-vl600.c USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00
Makefile net: cdc_mbim: build the MBIM driver 2012-10-23 02:40:11 -04:00
mcs7830.c usbnet: mcs7830: apply introduced usb command APIs 2012-10-26 03:36:51 -04:00
net1080.c usbnet: net1080: apply introduced usb command APIs 2012-10-26 03:36:51 -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 usbnet: plusb: apply introduced usb command APIs 2012-10-26 03:36:51 -04:00
qmi_wwan.c net: qmi_wwan: add ONDA MT8205 4G LTE 2013-01-19 10:56:42 -05: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 net: sierra: shut up sparse restricted type warnings 2012-10-28 19:09:02 -04:00
smsc75xx.c smsc75xx: only set mac address once on bind 2012-12-10 14:09:00 -05:00
smsc75xx.h smsc75xx: replace 0xffff with PHY_INT_SRC_CLEAR_ALL 2012-05-07 23:43:56 -04:00
smsc95xx.c smsc95xx: fix async register writes on big endian platforms 2012-12-10 14:09:00 -05:00
smsc95xx.h smsc95xx: support PHY wakeup source 2012-11-23 14:15:18 -05:00
usbnet.c usbnet: add new flag FLAG_NOARP for usb net devices 2013-01-21 14:24:37 -05:00
zaurus.c USB: Disable hub-initiated LPM for comms devices. 2012-05-18 15:42:55 -07:00