Browse Source

ftgmac100: Add missing barrier in ftgmac100_rx_packet()

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Benjamin Herrenschmidt 8 years ago
parent
commit
027f426d54
1 changed files with 3 additions and 0 deletions
  1. 3 0
      drivers/net/ethernet/faraday/ftgmac100.c

+ 3 - 0
drivers/net/ethernet/faraday/ftgmac100.c

@@ -444,6 +444,9 @@ static bool ftgmac100_rx_packet(struct ftgmac100 *priv, int *processed)
 	if (!ftgmac100_rxdes_packet_ready(rxdes))
 		return false;
 
+	/* Order subsequent reads with the test for the ready bit */
+	dma_rmb();
+
 	/* We don't cope with fragmented RX packets */
 	if (unlikely(!ftgmac100_rxdes_first_segment(rxdes) ||
 		     !ftgmac100_rxdes_last_segment(rxdes)))