1. 02 11月, 2013 19 次提交
  2. 12 4月, 2013 1 次提交
  3. 09 4月, 2013 1 次提交
  4. 31 3月, 2013 1 次提交
  5. 17 3月, 2013 1 次提交
  6. 28 2月, 2013 1 次提交
  7. 15 2月, 2013 1 次提交
    • B
      net: cdc_ncm: fix probing of devices with multiple control interface altsettings · f350ca03
      Bjørn Mork 提交于
      commit bd329e12 ("net: cdc_ncm: do not bind to NCM compatible MBIM devices")
      added a test for a CDC MBIM altsetting, implementing the cdc_ncm part of
      MBIM backward compatibility support.  This intentionally made the driver
      behave differently for CDC NCM devices with 2 alternate settings for the
      Communication interface, depending on whether or not CONFIG_USB_NET_CDC_MBIM
      was enabled.  This is correct iff alternate setting #1 really *is* a MBIM
      setting.  If not, then NCM probing will use a different altsetting than before,
      possibly causing probing failures depending on CONFIG_USB_NET_CDC_MBIM.
      
      Fix by setting the altsetting back to default after the test, restoring the
      previous behaviour for non MBIM devices.
      
      This bug causes probing of Huawei E3276 devices to fail when the MBIM driver
      is enabled, because these devices have a second alternate setting with no CDC
      functional descriptors.
      
      Cc: Greg Suarez <gsuarez@smithmicro.com>
      Cc: Alexey Orishko <alexey.orishko@stericsson.com>
      Reported-and-tested-by: NJonathan A. <yo.natan@hotmail.com>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f350ca03
  8. 07 2月, 2013 1 次提交
  9. 28 1月, 2013 1 次提交
  10. 22 1月, 2013 3 次提交
  11. 07 1月, 2013 1 次提交
  12. 20 12月, 2012 1 次提交
  13. 14 11月, 2012 1 次提交
    • B
      net: cdc_ncm: add Huawei devices · bbc8d922
      Bjørn Mork 提交于
      A number of Huawei 3G and LTE modems implement a CDC NCM function,
      including the necessary functional descriptors, but using a non
      standard interface layout and class/subclass/protocol codes.
      
      These devices can be handled by this driver with only a minor
      change to the probing logic, allowing a single combined control
      and data interface.  This works because the devices
      - include a CDC Union descriptor labelling the combined
        interface as both master and slave, and
      - have an alternate setting #1 for the bulk endpoints on the
        combined interface.
      
      The 3G/LTE network connection is managed by vendor specific AT
      commands on a serial function in the same composite device.
      Handling the managment function is out of the scope of this
      driver.  It will be handled by an appropriate USB serial
      driver.
      Reported-and-Tested-by: NOlof Ermis <olof.ermis@gmail.com>
      Reported-and-Tested-by: NTommy Cheng <tommy7765@yahoo.com>
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bbc8d922
  14. 29 10月, 2012 2 次提交
  15. 26 10月, 2012 1 次提交
  16. 23 10月, 2012 4 次提交
    • B
      net: cdc_ncm: do not bind to NCM compatible MBIM devices · bd329e12
      Bjørn Mork 提交于
      The MBIM specification allows a MBIM device to disguise
      itself as NCM for backwards compatibility, using additional
      altsettings with different subclass (control) or protocol
      (data):
      
      C:* #Ifs= 2 Cfg#= 1 Atr=80 MxPwr=100mA
      I:  If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0d Prot=00 Driver=cdc_mbim
      E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=7ms
      I:* If#= 0 Alt= 1 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
      E:  Ad=81(I) Atr=03(Int.) MxPS=  64 Ivl=7ms
      I:  If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_mbim
      I:  If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=01 Driver=cdc_mbim
      E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      I:* If#= 1 Alt= 2 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
      E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
      
      If the MBIM driver is enabled then that should have priority
      for devices providing such a NCM 1.0 backward compatibility
      mode.
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NGreg Suarez <gsuarez@smithmicro.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      bd329e12
    • B
      net: cdc_ncm: export shared symbols and definitions · c91ce3b6
      Bjørn Mork 提交于
      Move symbols and definitons which can be shared with a
      MBIM driver in a new header.
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c91ce3b6
    • B
      net: cdc_ncm: refactoring for tx multiplexing · c78b7c58
      Bjørn Mork 提交于
      Adding multiplexed NDP support to cdc_ncm_fill_tx_frame, allowing
      transmissions of multiple independent sessions within the same NTB.
      
      Refactoring the code quite a bit to avoid having to store copies
      of multiple NDPs being prepared for tx. The old code would still
      reserve enough room for a maximum sized NDP in the skb so we might
      as well keep them in the skb while they are being prepared.
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c78b7c58
    • B
      net: cdc_ncm: splitting rx_fixup for code reuse · ff06ab13
      Bjørn Mork 提交于
      Verifying and handling received MBIM and NCM frames will need
      to be different in three areas:
       - verifying the NDP signature
       - checking valid datagram length
       - datagram header manipulation
      
      This makes it inconvenient to share rx_fixup in whole.  But
      some verification parts are common.  Split these out in separate
      functions.
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      ff06ab13