1. 24 4月, 2018 1 次提交
  2. 04 4月, 2018 1 次提交
  3. 30 3月, 2018 2 次提交
  4. 26 3月, 2018 1 次提交
  5. 16 1月, 2018 1 次提交
  6. 27 10月, 2017 1 次提交
  7. 26 10月, 2017 9 次提交
  8. 30 8月, 2017 1 次提交
  9. 25 8月, 2017 1 次提交
  10. 01 8月, 2017 1 次提交
  11. 16 7月, 2017 2 次提交
    • D
      net: bcmgenet: Free skb after last Tx frag · f48bed16
      Doug Berger 提交于
      Since the skb is attached to the first control block of a fragmented
      skb it is possible that the skb could be freed when reclaiming that
      control block before all fragments of the skb have been consumed by
      the hardware and unmapped.
      
      This commit introduces first_cb and last_cb pointers to the skb
      control block used by the driver to keep track of which transmit
      control blocks within a transmit ring are the first and last ones
      associated with the skb.
      
      It then splits the bcmgenet_free_cb() function into transmit
      (bcmgenet_free_tx_cb) and receive (bcmgenet_free_rx_cb) versions
      that can handle the unmapping of dma mapped memory and cleaning up
      the corresponding control block structure so that the skb is only
      freed after the last associated transmit control block is reclaimed.
      
      Fixes: 1c1008c7 ("net: bcmgenet: add main driver file")
      Signed-off-by: NDoug Berger <opendmb@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      f48bed16
    • D
      net: bcmgenet: Fix unmapping of fragments in bcmgenet_xmit() · 876dbadd
      Doug Berger 提交于
      In case we fail to map a single fragment, we would be leaving the
      transmit ring populated with stale entries.
      
      This commit introduces the helper function bcmgenet_put_txcb()
      which takes care of rewinding the per-ring write pointer back to
      where we left.
      
      It also consolidates the functionality of bcmgenet_xmit_single()
      and bcmgenet_xmit_frag() into the bcmgenet_xmit() function to
      make the unmapping of control blocks cleaner.
      
      Fixes: 1c1008c7 ("net: bcmgenet: add main driver file")
      Suggested-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDoug Berger <opendmb@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      876dbadd
  12. 14 6月, 2017 1 次提交
  13. 22 3月, 2017 1 次提交
    • F
      net: bcmgenet: Track per TX/RX rings statistics · 37a30b43
      Florian Fainelli 提交于
      __bcmgenet_tx_reclaim() is currently summing TX bytes/packets in a way
      that is not SMP friendly, mutliples CPUs could run
      __bcmgenet_tx_reclaim() independently and still update stats->tx_bytes
      and stats->tx_packets, cloberring the other CPUs statistics.
      
      Fix this by tracking per RX and TX rings the number of bytes, packets,
      dropped and errors statistics, and provide a bcmgenet_get_stats()
      function which aggregates everything and returns a consistent output.
      Signed-off-by: NFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      37a30b43
  14. 16 3月, 2017 1 次提交
  15. 14 3月, 2017 8 次提交
  16. 10 3月, 2017 8 次提交