1. 02 9月, 2016 2 次提交
  2. 01 9月, 2016 12 次提交
  3. 29 8月, 2016 11 次提交
  4. 27 8月, 2016 2 次提交
  5. 26 8月, 2016 2 次提交
  6. 25 8月, 2016 2 次提交
  7. 24 8月, 2016 4 次提交
    • R
      dwc_eth_qos: fix interrupt enable race · a8184003
      Rabin Vincent 提交于
      We currently enable interrupts before we enable NAPI. If an RX interrupt
      hits before we enabled NAPI then the NAPI callback is never called and
      we leave the hardware with RX interrupts disabled, which of course leads
      us to never handling received packets.  Fix this by moving the interrupt
      enable to after we've enable NAPI and the reclaim tasklet.
      
      Fixes: cd5e4123 ("dwc_eth_qos: do phy_start before resetting hardware")
      Signed-off-by: NRabin Vincent <rabinv@axis.com>
      Signed-off-by: NLars Persson <larper@axis.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      a8184003
    • F
      net: lpc_eth: Check clk_prepare_enable() error · 53080fe9
      Fabio Estevam 提交于
      clk_prepare_enable() may fail, so we should better check its return
      value and propagate it in the case of failure
      
      While at it, replace __lpc_eth_clock_enable() with a plain
      clk_prepare_enable/clk_disable_unprepare() call in order to
      simplify the code.
      Signed-off-by: NFabio Estevam <fabio.estevam@nxp.com>
      Acked-by: NVladimir Zapolskiy <vz@mleia.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      53080fe9
    • Z
      gianfar: fix size of scatter-gathered frames · 6c389fc9
      Zefir Kurtisi 提交于
      The current scatter-gather logic in gianfar is flawed, since
      it does not consider the eTSEC's RxBD 'Data Length' field is
      context depening: for the last fragment it contains the full
      frame size, while fragments contain the fragment size, which
      equals the value written to register MRBLR.
      
      This causes data corruption as soon as the hardware starts
      to fragment receiving frames. As a result, the size of
      fragmented frames is increased by
      (nr_frags - 1) * MRBLR
      
      We first noticed this issue working with DSA, where an ICMP
      request sized 1472 bytes causes the scatter-gather logic to
      kick in. The full Ethernet frame (1518) gets increased by
      DSA (4), GMAC_FCB_LEN (8), and FSL_GIANFAR_DEV_HAS_TIMER
      (priv->padding=8) to a total of 1538 octets, which is
      fragmented by the hardware and reconstructed by the driver
      to a 3074 octet frame.
      
      This patch fixes the problem by adjusting the size of
      the last fragment.
      
      It was tested by setting MRBLR to different multiples of
      64, proving correct scatter-gather operation on frames
      with up to 9000 octets in size.
      Signed-off-by: NZefir Kurtisi <zefir.kurtisi@neratec.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      6c389fc9
    • Z
      gianfar: prevent fragmentation in DSA environments · b323431b
      Zefir Kurtisi 提交于
      The eTSEC register MRBLR defines the maximum space in
      the RX buffers and is set to 1536 by gianfar. This
      reasonably covers the common use case where the MTU
      is kept at default 1500. In that case, the largest
      Ethernet frame size of 1518 plus an optional
      GMAC_FCB_LEN of 8, and an additional padding of 8
      to handle FSL_GIANFAR_DEV_HAS_TIMER totals to 1534
      and nicely fit within the chosen MRBLR.
      
      Alas, if the eTSEC is attached to a DSA enabled switch,
      the (E)DSA header extension (4 or 8 bytes) causes every
      maximum sized frame to be fragmented by the hardware.
      
      This patch increases the maximum RX buffer size by 8
      and rounds up to the next multiple of 64, which the
      hardware's defines as RX buffer granularity.
      Signed-off-by: NZefir Kurtisi <zefir.kurtisi@neratec.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b323431b
  8. 23 8月, 2016 1 次提交
  9. 22 8月, 2016 1 次提交
  10. 21 8月, 2016 1 次提交
  11. 20 8月, 2016 2 次提交