Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[sfrench/cifs-2.6.git] / drivers / net / ethernet / amd / xgbe / xgbe-drv.c
index cff8940e169409d567d4f4f9fa696ba446a1d477..53ce1222b11d13fc8649bc00bb3b083d0ee23525 100644 (file)
@@ -1820,6 +1820,10 @@ static int xgbe_tx_poll(struct xgbe_channel *channel)
                return 0;
 
        cur = ring->cur;
+
+       /* Be sure we get ring->cur before accessing descriptor data */
+       smp_rmb();
+
        txq = netdev_get_tx_queue(netdev, channel->queue_index);
 
        while ((processed < XGBE_TX_DESC_MAX_PROC) &&