ftgmac100: Add missing barrier in ftgmac100_rx_packet()
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Thu, 6 Apr 2017 01:02:50 +0000 (11:02 +1000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 6 Apr 2017 22:39:45 +0000 (15:39 -0700)
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/faraday/ftgmac100.c

index 5cd854e740a9c057e819682b330aacd5c706243c..535e8a00d404b1027b9d1ab2238ba5710dee9e20 100644 (file)
@@ -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)))