1. 08 12月, 2015 3 次提交
  2. 07 12月, 2015 11 次提交
  3. 06 12月, 2015 24 次提交
  4. 05 12月, 2015 2 次提交
    • B
      net: qmi_wwan: support "raw IP" mode · 32f7adf6
      Bjørn Mork 提交于
      QMI wwan devices have traditionally emulated ethernet devices
      by default. But they have always had the capability of operating
      without any L2 header at all, transmitting and receiving "raw"
      IP packets over the USB link.  This firmware feature used to be
      configurable through the QMI management protocol.
      
      Traditionally there was no way to verify the firmware mode
      without attempting to change it.  And the firmware would often
      disallow changes anyway, i.e. due to a session already being
      established.  In some cases, this could be a hidden firmware
      internal session, completely outside host control.  For these
      reasons, sticking with the "well known" default mode was safest.
      
      But newer generations of QMI hardware and firmware have moved
      towards defaulting to "raw IP" mode instead, followed by an
      increasing number of bugs in the already buggy "802.3" firmware
      implementation. At the same time, the QMI management protocol
      gained the ability to detect the current mode.  This has enabled
      the userspace QMI management application to verify the current
      firmware mode without trying to modify it.
      
      Following this development, the latest QMI hardware and firmware
      (the MDM9x30 generation) has dropped support for "802.3" mode
      entirely. Support for "raw IP" framing in the driver is therefore
      necessary for these devices, and to a certain degree to work
      around problems with the previous generation,
      
      This patch adds support for "raw IP" framing for QMI devices,
      changing the netdev from an ethernet device to an ARPHRD_NONE
      p-t-p device when "raw IP" framing is enabled.
      
      The firmware setup is fully delegated to the QMI userspace
      management application, through simple tunneling of the QMI
      protocol. The driver will therefore not know which mode has been
      "negotiated" between firmware and userspace. Allowing userspace
      to inform the driver of the result through a sysfs switch is
      considered a better alternative than to change the well established
      clean delegation of firmware management to userspace.
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      32f7adf6
    • B
      usbnet: allow mini-drivers to consume L2 headers · 81e0ce79
      Bjørn Mork 提交于
      Assume the minidriver has taken care of all L2 header parsing
      if it sets skb->protocol.  This allows the minidriver to
      support non-ethernet L2 headers, and even operate without
      any L2 header at all.
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Acked-by: NOliver Neukum <oneukum@suse.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      81e0ce79