]> git.baikalelectronics.ru Git - kernel.git/commit
net: cdc_mbim: send ZLP only for the specific buggy device
authorBjørn Mork <bjorn@mork.no>
Wed, 23 Jan 2013 00:57:02 +0000 (00:57 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 23 Jan 2013 18:45:49 +0000 (13:45 -0500)
commit8cfe854c7e13e99d34a1da7c79da678a78714a02
tree561fae0101894c3429e1d168b375b669e9f3230d
parente0d8abf26c4d1320f08f6ce048de55ebe87b1924
net: cdc_mbim: send ZLP only for the specific buggy device

Reverting 9f3b7fe and instead adding an exception for the
Sierra Wireless MC7710.

commit 9f3b7fe (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 9f3b7fe 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>
drivers/net/usb/cdc_mbim.c