1. 21 9月, 2016 1 次提交
  2. 20 9月, 2016 4 次提交
  3. 19 9月, 2016 1 次提交
  4. 17 9月, 2016 2 次提交
    • I
      bna: fix crash in bnad_get_strings() · 37dd3482
      Ivan Vecera 提交于
      Commit 6e7333d3 "net: add rx_nohandler stat counter" added the new entry
      rx_nohandler into struct rtnl_link_stats64. Unfortunately the bna
      driver foolishly depends on the structure. It uses part of it for
      ethtool statistics and it's not bad but the driver assumes its size
      is constant as it defines string for each existing entry. The problem
      occurs when the structure is extended because you need to modify bna
      driver as well. If not any attempt to retrieve ethtool statistics results
      in crash in bnad_get_strings().
      The patch changes BNAD_ETHTOOL_STATS_NUM so it counts real number of
      strings in the array and also removes rtnl_link_stats64 entries that
      are not used in output and are always zero.
      
      Fixes: 6e7333d3 "net: add rx_nohandler stat counter"
      Signed-off-by: NIvan Vecera <ivecera@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      37dd3482
    • I
      bna: add missing per queue ethtool stat · 2835d2d9
      Ivan Vecera 提交于
      Commit ba5ca784 "bna: check for dma mapping errors" added besides other
      things a statistic that counts number of DMA buffer mapping failures
      per each Rx queue. This counter is not included in ethtool stats output.
      
      Fixes: ba5ca784 "bna: check for dma mapping errors"
      Signed-off-by: NIvan Vecera <ivecera@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      2835d2d9
  5. 16 9月, 2016 5 次提交
  6. 13 9月, 2016 1 次提交
    • B
      bnx2: Reset device during driver initialization · 3e1be7ad
      Baoquan He 提交于
      When system enters into kdump kernel because of kernel panic, it won't
      shutdown devices. On-flight DMA will continue transferring data until
      device driver initializes. All devices are supposed to reset during
      driver initialization. And this property is used to fix the kdump
      failure in system with intel iommu. Other systems with hardware iommu
      should be similar. Please check commit 091d42e4 ("iommu/vt-d: Copy
      translation tables from old kernel") and those commits around.
      
      But bnx2 driver doesn't reset device during driver initialization. The
      device resetting is deferred to net device up stage. This will cause
      hardware iommu handling failure on bnx2 device. And its resetting relies
      on firmware. So in this patch move the firmware requesting code to earlier
      bnx2_init_one(), then next call bnx2_reset_chip to reset device.
      Signed-off-by: NBaoquan He <bhe@redhat.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3e1be7ad
  7. 12 9月, 2016 4 次提交
  8. 11 9月, 2016 1 次提交
  9. 10 9月, 2016 3 次提交
  10. 09 9月, 2016 7 次提交
  11. 07 9月, 2016 3 次提交
  12. 03 9月, 2016 4 次提交
  13. 02 9月, 2016 4 次提交
    • G
      bnx2x: don't reset chip on cleanup if PCI function is offline · b44e108b
      Guilherme G. Piccoli 提交于
      When PCI error is detected, in some architectures (like PowerPC) a slot
      reset is performed - the driver's error handlers are in charge of "disable"
      device before the reset, and re-enable it after a successful slot reset.
      
      There are two cases though that another path is taken on the code: if the
      slot reset is not successful or if too many errors already happened in the
      specific adapter (meaning that possibly the device is experiencing a HW
      failure that slot reset is not able to solve), the core PCI error mechanism
      (called EEH in PowerPC) will remove the adapter from the system, since it
      will consider this as a permanent failure on device. In this case, a path
      is taken that leads to bnx2x_chip_cleanup() calling bnx2x_reset_hw(), which
      then tries to perform a HW reset on chip. This reset won't succeed since
      the HW is in a fault state, which can be seen by multiple messages on
      kernel log like below:
      
      	bnx2x: [bnx2x_issue_dmae_with_comp:552(eth1)]DMAE timeout!
      	bnx2x: [bnx2x_write_dmae:600(eth1)]DMAE returned failure -1
      
      After some time, the PCI error mechanism gives up on waiting the driver's
      correct removal procedure and forcibly remove the adapter from the system.
      We can see soft lockup while core PCI error mechanism is waiting for driver
      to accomplish the right removal process.
      
      This patch adds a verification to avoid a chip reset whenever the function
      is in PCI error state - since this case is only reached when we have a
      device being removed because of a permanent failure, the HW chip reset is
      not expected to work fine neither is necessary.
      
      Also, as a minor improvement in error path, we avoid the MCP information dump
      in case of non-recoverable PCI error (when adapter is about to be removed),
      since it will certainly fail.
      Reported-by: NHarsha Thyagaraja <hathyaga@in.ibm.com>
      Signed-off-by: NGuilherme G. Piccoli <gpiccoli@linux.vnet.ibm.com>
      Acked-By: NYuval Mintz <Yuval.Mintz@qlogic.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b44e108b
    • S
      net: thunderx: Fix for issues with multiple CQEs posted for a TSO packet · 7ceb8a13
      Sunil Goutham 提交于
      On ThunderX 88xx pass 2.x chips when TSO is offloaded to HW,
      HW posts a CQE for every TSO segment transmitted. Current code
      does handles this, but is prone to issues when segment sizes are
      small resulting in SW processing too many CQEs and also at times
      frees a SKB which is not yet transmitted.
      
      This patch handles the errata in a different way and eliminates issues
      with earlier approach, TSO packet is submitted to HW with post_cqe=0,
      so that no CQE is posted upon completion of transmission of TSO packet
      but a additional HDR + IMMEDIATE descriptors are added to SQ due to
      which a CQE is posted and will have required info to be used while
      cleanup in napi. This way only one CQE is posted for a TSO packet.
      Signed-off-by: NSunil Goutham <sgoutham@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7ceb8a13
    • S
      net: thunderx: Fix for HW issue while padding TSO packet · 57e81d44
      Sunil Goutham 提交于
      There is a issue in HW where-in while sending GSO sized pkts
      as part of TSO, if pkt len falls below configured min packet
      size i.e 60, NIC will zero PAD packet and also updates IP total length.
      Hence set this value to lessthan min pkt size of MAC + IP + TCP
      headers, BGX will anyway do the padding to transmit 64 byte pkt
      including FCS.
      Signed-off-by: NSunil Goutham <sgoutham@cavium.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      57e81d44
    • D
      i40e: Fix kernel panic on enable/disable LLDP · a036244c
      Dave Ertman 提交于
      If DCB is configured on the link partner switch with an
      unsupported traffic class configuration (e.g. non-contiguous TCs),
      the driver is flagging DCB as disabled.  But, for future DCB
      LLDPDUs, the driver was checking if the interface was DCB capable
      instead of enabled.  This was causing a kernel panic when LLDP
      was enabled/disabled on the link partner switch.
      
      This patch corrects the situation by having the LLDP event handler
      check the correct flag in the pf structure.  It also cleans up the
      setting and clearing of the enabled flag for other checks.
      Signed-off-by: NDave Ertman <david.m.ertman@intel.com>
      Tested-by: NAndrew Bowers <andrewx.bowers@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a036244c