1. 09 7月, 2016 1 次提交
    • D
      net: mvneta: set real interrupt per packet for tx_done · 06708f81
      Dmitri Epshtein 提交于
      Commit aebea2ba ("net: mvneta: fix Tx interrupt delay") intended to
      set coalescing threshold to a value guaranteeing interrupt generation
      per each sent packet, so that buffers can be released with no delay.
      
      In fact setting threshold to '1' was wrong, because it causes interrupt
      every two packets. According to the documentation a reason behind it is
      following - interrupt occurs once sent buffers counter reaches a value,
      which is higher than one specified in MVNETA_TXQ_SIZE_REG(q). This
      behavior was confirmed during tests. Also when testing the SoC working
      as a NAS device, better performance was observed with int-per-packet,
      as it strongly depends on the fact that all transmitted packets are
      released immediately.
      
      This commit enables NETA controller work in interrupt per sent packet mode
      by setting coalescing threshold to 0.
      Signed-off-by: NDmitri Epshtein <dima@marvell.com>
      Signed-off-by: NMarcin Wojtas <mw@semihalf.com>
      Cc: <stable@vger.kernel.org> # v3.10+
      Fixes aebea2ba ("net: mvneta: fix Tx interrupt delay")
      Acked-by: NWilly Tarreau <w@1wt.eu>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      06708f81
  2. 06 7月, 2016 2 次提交
  3. 05 7月, 2016 2 次提交
  4. 03 7月, 2016 2 次提交
    • S
      enc28j60: Fix race condition in enc28j60 driver · 373819ec
      Sergio Valverde 提交于
      The interrupt worker code for the enc28j60 relies only on the TXIF flag to
      determinate if the packet transmission was completed. However the datasheet
      specifies in section 12.1.3 that TXERIF will clear the TXRTS after a
      transmit abort. Also in section 12.1.4 that TXIF will be set
      when TXRTS transitions from '1' to '0'. Therefore the TXIF flag is enabled
      during transmission errors.
      
      This causes a race condition, since the worker code will invoke
      enc28j60_tx_clear() -> netif_wake_queue(), potentially invoking the
      ndo_start_xmit function to send a new packet. The enc28j60_send_packet function
      uses a workqueue that invokes enc28j60_hw_tx(). In between this function is
      called, the worker from the interrupt handler will enter the path for error
      handler because of the TXERIF flag, causing to invoke enc28j60_tx_clear() again
      and releasing the packet scheduled for transmission, causing a kernel crash with
      due a NULL pointer.
      
      These crashes due a NULL pointer were observed under stress conditions of the
      device. A BUG_ON() sequence was used to validate the issue was fixed, and has
      been running without problems for 2 years now.
      Signed-off-by: NDiego Dompe <dompe@hpe.com>
      Acked-by: NSergio Valverde <sergio.valverde@hpe.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      373819ec
    • M
      net: stmmac: Fix null-function call in ISR on stmmac1000 · a8b7d770
      Matt Corallo 提交于
      (resent due to overhelpful mail client corrupting patch)
      
      At least on Meson GXBB, the CORE_IRQ_MTL_RX_OVERFLOW interrupt is thrown
      with the stmmac1000 driver, which does not support set_rx_tail_ptr. With
      this patch and the clock fixes, 1G ethernet works on ODROID-C2.
      Signed-off-by: NMatt Corallo <git@bluematt.me>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a8b7d770
  5. 02 7月, 2016 1 次提交
  6. 01 7月, 2016 15 次提交
  7. 30 6月, 2016 2 次提交
  8. 29 6月, 2016 13 次提交
  9. 28 6月, 2016 2 次提交