1. 02 9月, 2014 11 次提交
  2. 01 9月, 2014 4 次提交
  3. 30 8月, 2014 5 次提交
  4. 26 8月, 2014 15 次提交
    • D
      mvneta: Add missing if_vlan.h include. · 2d39d120
      David S. Miller 提交于
      drivers/net/ethernet/marvell/mvneta.c: In function 'mvneta_skb_tx_csum':
      drivers/net/ethernet/marvell/mvneta.c:1374:3: error: implicit declaration of function 'vlan_get_protocol' [-Werror=implicit-function-declaration]
         __be16 l3_proto = vlan_get_protocol(skb);
         ^
      Reporeted-by: NStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2d39d120
    • V
      qlge: Fix TSO for non-accelerated vlan traffic · 1ee1cfe7
      Vlad Yasevich 提交于
      This device claims TSO support for vlans.  It also allows a user to
      control vlan acceleration offloading.  As such, it is possible to turn
      off vlan acceleration and configure a vlan which will continue to send
      TSO traffic.
      
      In such situation the packet passed down the the device will contain
      a vlan header and skb->protocol will be set to ETH_P_8021Q.
      The device assumes that skb->protocol contains network protocol
      value and uses that value to set up TSO information.
      This results in corrupted frames sent on the wire.
      
      This patch extracts the protocol value correctly by using a
      vlan_get_protocol() helper and corrects corrupt TSO frames.
      
      CC: Shahed Shaikh <shahed.shaikh@qlogic.com>
      CC: Jitendra Kalsaria <jitendra.kalsaria@qlogic.com>
      CC: Ron Mercer <ron.mercer@qlogic.com>
      CC: linux-driver@qlogic.com
      Signed-off-by: NVladislav Yasevich <vyasevic@redhat.com>
      Acked-by: NShahed Shaikh <shahed.shaikh@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1ee1cfe7
    • V
      mvneta: Fix TSO and checksum for non-acceleration vlan traffic · 817dbfa5
      Vlad Yasevich 提交于
      This driver doesn't appear to support vlan acceleration at
      all.  However, it does claim to support TSO and IP checksums
      for vlan devices.  Thus any configured vlan device would
      end up passing down partial checksums or TSO frames.
      
      The driver also uses the value from skb->protocol to
      determine TSO and checksum offload information, but assumes
      that skb->protocol holds the l3 protocol information.
      As a result, vlan traffic with partial checksums or TSO
      will fail those checks and TSO will not happen.
      
      Fix this by using vlan_get_protocol() helper.
      
      CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
      Signed-off-by: NVladislav Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      817dbfa5
    • V
      i40evf: Fix TSO and hw checksums for non-accelerated vlan packets. · a12c4158
      Vlad Yasevich 提交于
      This device claims TSO and checksum support for vlans.  It also
      allows a user to control vlan acceleration offloading.  As such,
      it is possible to turn off vlan acceleration and configure a vlan
      which will continue to support TSO and hw checksums.
      
      In such situation the packet passed down the the device will contain
      a vlan header and skb->protocol will be set to ETH_P_8021Q.
      The device assumes that skb->protocol contains network protocol
      value and uses that value to set up TSO and checksum information.
      This results in corrupted frames sent on the wire.
      
      This patch extract the protocol value correctly and corrects TSO
      and checksums for non-accelerated traffic.
      
      Fix this by using vlan_get_protocol() helper.
      
      CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
      CC: Jesse Brandeburg <jesse.brandeburg@intel.com>
      CC: Bruce Allan <bruce.w.allan@intel.com>
      CC: Carolyn Wyborny <carolyn.wyborny@intel.com>
      CC: Don Skidmore <donald.c.skidmore@intel.com>
      CC: Greg Rose <gregory.v.rose@intel.com>
      CC: Alex Duyck <alexander.h.duyck@intel.com>
      CC: John Ronciak <john.ronciak@intel.com>
      CC: Mitch Williams <mitch.a.williams@intel.com>
      CC: Linux NICS <linux.nics@intel.com>
      CC: e1000-devel@lists.sourceforge.net
      Signed-off-by: NVladislav Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a12c4158
    • V
      i40e: Fix TSO and hw checksums for non-accelerated vlan packets. · 3d34dd03
      Vlad Yasevich 提交于
      This device claims TSO and checksum support for vlans.  It also
      allows a user to control vlan acceleration offloading.  As such,
      it is possible to turn off vlan acceleration and configure a vlan
      which will continue to support TSO and hw checksums.
      
      In such situation the packet passed down the the device will contain
      a vlan header and skb->protocol will be set to ETH_P_8021Q.
      The device assumes that skb->protocol contains network protocol
      value and uses that value to set up TSO and checksum information.
      This results in corrupted frames sent on the wire.
      
      This patch extract the protocol value correctly and corrects TSO
      and checksums for non-accelerated traffic.
      
      Fix this by using vlan_get_protocol() helper.
      
      CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
      CC: Jesse Brandeburg <jesse.brandeburg@intel.com>
      CC: Bruce Allan <bruce.w.allan@intel.com>
      CC: Carolyn Wyborny <carolyn.wyborny@intel.com>
      CC: Don Skidmore <donald.c.skidmore@intel.com>
      CC: Greg Rose <gregory.v.rose@intel.com>
      CC: Alex Duyck <alexander.h.duyck@intel.com>
      CC: John Ronciak <john.ronciak@intel.com>
      CC: Mitch Williams <mitch.a.williams@intel.com>
      CC: Linux NICS <linux.nics@intel.com>
      CC: e1000-devel@lists.sourceforge.net
      Signed-off-by: NVladislav Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3d34dd03
    • V
      ehea: Fix TSO and hw checksums with non-accelerated vlan packets. · be1d1486
      Vlad Yasevich 提交于
      The driver claims that it can do TSO and IP checksums on vlan
      devices and also allows user to control vlan acceleration offloading.
      This makes it possible to push traffic to this driver that has TSO or
      partial checksums set, but also have a non-accelearted vlan
      header.  In this case, the driver will fail to correctly
      identify such traffic and will not correctly perform
      segmentation and checksum calculation.
      
      Fix this by using vlan_get_protocol() helper instead of
      assuming skb->protocol always has this information.
      
      CC: Thadeu Lima de Souza Cascardo <cascardo@linux.vnet.ibm.com>
      Signed-off-by: NVladislav Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      be1d1486
    • V
      bna: Support TSO and partial checksum with non-accelerated vlans. · 1c53730a
      Vlad Yasevich 提交于
      This device claims TSO and checksum support for vlans.  It also
      allows a user to control vlan acceleration offloading.  As such,
      it is possible to turn off vlan acceleration and configure a vlan
      which will continue to support TSO.
      
      In such situation the packet passed down the the device will contain
      a vlan header and skb->protocol will be set to ETH_P_8021Q.
      The device assumes that skb->protocol contains network protocol
      value and uses that value to set up TSO information.  This results
      in corrupted frames sent on the wire.
      
      This patch extract the protocol value correctly and corrects TSO
      and checksums for non-accelerated traffic.
      
      CC: Rasesh Mody <rmody@brocade.com>
      Signed-off-by: NVladislav Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      1c53730a
    • V
      e1000: Fix TSO for non-accelerated vlan traffic · 06f4d033
      Vlad Yasevich 提交于
      This device claims TSO and checksum support for vlans.  It also
      allows a user to control vlan acceleration offloading.  As such,
      it is possible to turn off vlan acceleration and configure a vlan
      which will continue to support TSO.
      
      In such situation the packet passed down the the device will contain
      a vlan header and skb->protocol will be set to ETH_P_8021Q.
      The device assumes that skb->protocol contains network protocol
      value and uses that value to set up TSO and checksum information.
      This will results in corrupted frames sent on the wire.
      
      This patch extract the protocol value correctly and corrects TSO
      for non-accelerated traffic.
      
      CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
      CC: Jesse Brandeburg <jesse.brandeburg@intel.com>
      CC: Bruce Allan <bruce.w.allan@intel.com>
      CC: Carolyn Wyborny <carolyn.wyborny@intel.com>
      CC: Don Skidmore <donald.c.skidmore@intel.com>
      CC: Greg Rose <gregory.v.rose@intel.com>
      CC: Alex Duyck <alexander.h.duyck@intel.com>
      CC: John Ronciak <john.ronciak@intel.com>
      CC: Mitch Williams <mitch.a.williams@intel.com>
      CC: Linux NICS <linux.nics@intel.com>
      CC: e1000-devel@lists.sourceforge.net
      Signed-off-by: NVladislav Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      06f4d033
    • V
      e1000e: Fix TSO with non-accelerated vlans · 47ccd1ed
      Vlad Yasevich 提交于
      This device claims  TSO support for vlans.  It also allows a
      user to control vlan acceleration offloading.  As such, it is
      possible to turn off vlan acceleration and configure a vlan
      which will continue to support TSO.
      
      In such situation the packet passed down the the device will contain
      a vlan header and skb->protocol will be set to ETH_P_8021Q.
      The device assumes that skb->protocol contains network protocol
      value and uses that value to set up TSO information.  This results
      in corrupted frames sent on the wire.  Corruptions include
      incorrect IP total length and invalid IP checksum.
      
      This patch extract the protocol value correctly and corrects TSO
      for non-accelerated traffic.
      
      CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
      CC: Jesse Brandeburg <jesse.brandeburg@intel.com>
      CC: Bruce Allan <bruce.w.allan@intel.com>
      CC: Carolyn Wyborny <carolyn.wyborny@intel.com>
      CC: Don Skidmore <donald.c.skidmore@intel.com>
      CC: Greg Rose <gregory.v.rose@intel.com>
      CC: Alex Duyck <alexander.h.duyck@intel.com>
      CC: John Ronciak <john.ronciak@intel.com>
      CC: Mitch Williams <mitch.a.williams@intel.com>
      CC: Linux NICS <linux.nics@intel.com>
      CC: e1000-devel@lists.sourceforge.net
      Signed-off-by: NVladislav Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      47ccd1ed
    • J
      net: moxa: continue loop on skb allocation failure · 2b7890e7
      Jonas Jensen 提交于
      If netdev_alloc_skb_ip_align() fails, subsequent code will
      try to dereference an invalid pointer.
      
      Continue to next descriptor on error.
      
      While we're at it,
      
      1. eliminate the chance of an endless loop, replace the main
         loop with while(rx < budget)
      
      2. use napi_complete() and remove the explicit napi_gro_flush()
      Signed-off-by: NJonas Jensen <jonas.jensen@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2b7890e7
    • J
      net: moxa: synchronize DMA memory · 777fbc31
      Jonas Jensen 提交于
      DMA memory should be synchronized before data is passed
      to/from controller.
      
      Add dma_sync_single_for_cpu(.., DMA_FROM_DEVICE) to RX path
      and dma_sync_single_for_device(.., DMA_TO_DEVICE) to TX path.
      Signed-off-by: NJonas Jensen <jonas.jensen@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      777fbc31
    • J
      net: moxa: replace build_skb() with netdev_alloc_skb_ip_align() / memcpy() · 9fe1b3bc
      Jonas Jensen 提交于
      build_skb() is used to make skbs out of existing RX ring memory
      which is bad because the RX ring is allocated only once, on probe.
      Memory corruption occur because said memory is reclaimed, i.e.
      __kfree_skb() (and eventually put_page()).
      
      Replace build_skb() with netdev_alloc_skb_ip_align() and use memcpy().
      
      Remove SKB_DATA_ALIGN() from RX buffer size while we're at it.
      
      Addresses https://bugzilla.kernel.org/show_bug.cgi?id=69041Signed-off-by: NJonas Jensen <jonas.jensen@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9fe1b3bc
    • J
      net: moxa: clear DESC1 on ndo_start_xmit() · b853f319
      Jonas Jensen 提交于
      TX buffer length is not cleared on ndo_start_xmit().
      Failing to do so can bug/hang the controller and
      cause TX interrupts to stop altogether.
      
      Remove the readl() and compute a new value for DESC1.
      
      Addresses https://bugzilla.kernel.org/show_bug.cgi?id=69031Signed-off-by: NJonas Jensen <jonas.jensen@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b853f319
    • G
      stmmac: set ptp_clock to NULL while unregister · f95f4045
      Giuseppe CAVALLARO 提交于
      This is to properly put to NULL the ptp_clock while un-register the PTP support.
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f95f4045
    • G
      stmmac: fix rx checksum programming · 978aded4
      Giuseppe CAVALLARO 提交于
      This patch is to fix the IPC bit into the GMAC control register
      that must be done after the core initialization otherwise it will
      not have any effect.
      Signed-off-by: NGiuseppe Cavallaro <peppe.cavallaro@st.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      978aded4
  5. 23 8月, 2014 4 次提交
  6. 22 8月, 2014 1 次提交