Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1413940

[PATCH 10/12] net: mediatek: fix off by one in the TX ring allocation

From John Crispin <john@phrozen.org>
Newsgroups linux.kernel
Subject [PATCH 10/12] net: mediatek: fix off by one in the TX ring allocation
Date 2016-06-05 09:10 +0200
Message-ID <rGAm6-3Hp-9@gated-at.bofh.it> (permalink)
References <rGzT3-3iX-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


The TX ring setup has an off by one error causing it to not utilise all
descriptors. This has the side effect that we need to reset the next
pointer at runtime to make it work. Fix the off by one and remove the
code fixing the ring at runtime.

Signed-off-by: John Crispin <john@phrozen.org>
---
 drivers/net/ethernet/mediatek/mtk_eth_soc.c |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
index 24714ab..6daf48b 100644
--- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c
+++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c
@@ -903,7 +903,6 @@ static int mtk_poll_tx(struct mtk_eth *eth, int budget, bool *tx_again)
 		}
 		mtk_tx_unmap(eth->dev, tx_buf);
 
-		ring->last_free->txd2 = next_cpu;
 		ring->last_free = desc;
 		atomic_inc(&ring->free_count);
 
@@ -1011,7 +1010,7 @@ static int mtk_tx_alloc(struct mtk_eth *eth)
 
 	atomic_set(&ring->free_count, MTK_DMA_SIZE - 2);
 	ring->next_free = &ring->dma[0];
-	ring->last_free = &ring->dma[MTK_DMA_SIZE - 2];
+	ring->last_free = &ring->dma[MTK_DMA_SIZE - 1];
 	ring->thresh = MAX_SKB_FRAGS;
 
 	/* make sure that all changes to the dma ring are flushed before we
-- 
1.7.10.4

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 00/12] net: mediatek: various small fixes John Crispin <john@phrozen.org> - 2016-06-05 08:40 +0200
  [PATCH 09/12] net: mediatek: increase watchdog_timeo John Crispin <john@phrozen.org> - 2016-06-05 08:40 +0200
    Re: [PATCH 09/12] net: mediatek: increase watchdog_timeo Andrew Lunn <andrew@lunn.ch> - 2016-06-05 17:00 +0200
      Re: [PATCH 09/12] net: mediatek: increase watchdog_timeo John Crispin <john@phrozen.org> - 2016-06-06 08:30 +0200
        Re: [PATCH 09/12] net: mediatek: increase watchdog_timeo Andrew Lunn <andrew@lunn.ch> - 2016-06-06 14:30 +0200
          Re: [PATCH 09/12] net: mediatek: increase watchdog_timeo John Crispin <john@phrozen.org> - 2016-06-06 14:40 +0200
  [PATCH 01/12] net: mediatek: fix DQL support John Crispin <john@phrozen.org> - 2016-06-05 08:40 +0200
    Re: [PATCH 01/12] net: mediatek: fix DQL support David Miller <davem@davemloft.net> - 2016-06-05 09:40 +0200
      Re: [PATCH 01/12] net: mediatek: fix DQL support John Crispin <john@phrozen.org> - 2016-06-06 08:50 +0200
        Re: [PATCH 01/12] net: mediatek: fix DQL support David Miller <davem@davemloft.net> - 2016-06-08 01:10 +0200
          Re: [PATCH 01/12] net: mediatek: fix DQL support Tom Herbert <tom@herbertland.com> - 2016-06-08 01:30 +0200
  [PATCH 07/12] net: mediatek: disable all interrupts during probe John Crispin <john@phrozen.org> - 2016-06-05 08:40 +0200
  [PATCH 04/12] net: mediatek: invalid buffer lookup in mtk_tx_map() John Crispin <john@phrozen.org> - 2016-06-05 08:40 +0200
  [PATCH 05/12] net: mediatek: dropped rx packets are not being counted properly John Crispin <john@phrozen.org> - 2016-06-05 08:40 +0200
  [PATCH 06/12] net: mediatek: add next data pointer coherency protection John Crispin <john@phrozen.org> - 2016-06-05 08:40 +0200
  [PATCH 08/12] net: mediatek: fix threshold value John Crispin <john@phrozen.org> - 2016-06-05 08:40 +0200
  [PATCH 12/12] net: mediatek: remove superfluous queue wake up call John Crispin <john@phrozen.org> - 2016-06-05 09:10 +0200
  [PATCH 10/12] net: mediatek: fix off by one in the TX ring allocation John Crispin <john@phrozen.org> - 2016-06-05 09:10 +0200
  [PATCH 11/12] net: mediatek: only wake the queue if it is stopped John Crispin <john@phrozen.org> - 2016-06-05 09:10 +0200

csiph-web