1. 27 5月, 2014 1 次提交
    • D
      e1000e: Failure to write SHRA turns on PROMISC mode · b3e5bf1f
      David Ertman 提交于
      Previously, the check to turn on promiscuous mode only took into account
      the total number of SHared Receive Address (SHRA) registers and if the
      request was for a register within that range.  It is possible that the
      Management Engine might have locked a number of SHRA and not allowed a
      new address to be written to the requested register.
      
      Add a function to determine the number of unlocked SHRA registers.  Then
      determine if the number of registers available is sufficient for our needs,
      if not then return -ENOMEM so that UNICAST PROMISC mode is activated.
      
      Since the method by which ME claims SHRA registers is non-deterministic,
      also add a return value to the function attempting to write an address
      to a SHRA, and return a -E1000_ERR_CONFIG if the write fails.  The error
      will be passed up the function chain and allow the driver to also set
      UNICAST PROMISC when this happens.
      
      Cc: Vlad Yasevich <vyasevic@redhat.com>
      Signed-off-by: NDave Ertman <davidx.m.ertman@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      b3e5bf1f
  2. 06 5月, 2014 4 次提交
  3. 23 4月, 2014 1 次提交
  4. 08 3月, 2014 6 次提交
  5. 14 9月, 2013 1 次提交
    • D
      e1000e: fix overrun of PHY RAR array · c3a0dce3
      David Ertman 提交于
      When copying the MAC RAR registers to PHY there is an error in the
      calculation of the rar_entry_count, which causes a write of unknown/
      undefined register space in the MAC to unknown/undefined register space in
      the PHY.
      
      This patch fixes the overrun with writing to the PHY RAR and also fixes the
      ethtool offline register tests so that the correctly addressed registers
      have the appropriate bitmasks for R/W and RO bits for affected parts.
      
      Shawn Rader gets credit for finding and fixing the register overrun.
      Signed-off-by: NDave Ertman <davidx.m.ertman@intel.com>
      CC: Shawn Rader <shawn.t.rader@intel.com>
      Tested-by: NAaron Brown <aaron.f.brown@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      c3a0dce3
  6. 28 7月, 2013 3 次提交
  7. 21 5月, 2013 1 次提交
  8. 28 3月, 2013 5 次提交
  9. 08 3月, 2013 8 次提交
  10. 05 3月, 2013 1 次提交
    • B
      e1000e: workaround DMA unit hang on I218 · e08f626b
      Bruce Allan 提交于
      At 1000Mbps link speed, one of the MAC's internal clocks can be stopped for
      up to 4us when entering K1 (a power mode of the MAC-PHY interconnect).  If
      the MAC is waiting for completion indications for 2 DMA write requests into
      Host memory (e.g. descriptor writeback or Rx packet writing) and the
      indications occur while the clock is stopped, both indications will be
      missed by the MAC causing the MAC to wait for the completion indications
      and be unable to generate further DMA write requests.  This results in an
      apparent hardware hang.
      
      Work-around the issue by disabling the de-assertion of the clock request
      when 1000Mbps link is acquired (K1 must be disabled while doing this).
      Signed-off-by: NBruce Allan <bruce.w.allan@intel.com>
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      e08f626b
  11. 05 2月, 2013 2 次提交
  12. 01 2月, 2013 3 次提交
  13. 30 1月, 2013 1 次提交
    • B
      e1000e: enable ECC on I217/I218 to catch packet buffer memory errors · 28600304
      Bruce Allan 提交于
      In rare instances, memory errors have been detected in the internal packet
      buffer memory on I217/I218 when stressed under certain environmental
      conditions.  Enable Error Correcting Code (ECC) in hardware to catch both
      correctable and uncorrectable errors.  Correctable errors will be handled
      by the hardware.  Uncorrectable errors in the packet buffer will cause the
      packet to be received with an error indication in the buffer descriptor
      causing the packet to be discarded.  If the uncorrectable error is in the
      descriptor itself, the hardware will stop and interrupt the driver
      indicating the error.  The driver will then reset the hardware in order to
      clear the error and restart.
      
      Both types of errors will be accounted for in statistics counters.
      Signed-off-by: NBruce Allan <bruce.w.allan@intel.com>
      Cc: <stable@vger.kernel.org> # 3.5.x & 3.6.x
      Tested-by: NJeff Pieper <jeffrey.e.pieper@intel.com>
      Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      28600304
  14. 28 1月, 2013 2 次提交
  15. 27 1月, 2013 1 次提交