fm10k/igb/ixgbe: Use dma_rmb on Rx descriptor reads
[deliverable/linux.git] / drivers / net / ethernet / intel / ixgbe / ixgbe_main.c
index 798b05556e1bcced693bc680ac076992e1a59e85..2ed2c7de230444f88c3f06451d7cc8a7167f5f05 100644 (file)
@@ -2009,15 +2009,14 @@ static int ixgbe_clean_rx_irq(struct ixgbe_q_vector *q_vector,
 
                rx_desc = IXGBE_RX_DESC(rx_ring, rx_ring->next_to_clean);
 
-               if (!ixgbe_test_staterr(rx_desc, IXGBE_RXD_STAT_DD))
+               if (!rx_desc->wb.upper.status_error)
                        break;
 
-               /*
-                * This memory barrier is needed to keep us from reading
+               /* This memory barrier is needed to keep us from reading
                 * any other fields out of the rx_desc until we know the
-                * RXD_STAT_DD bit is set
+                * descriptor has been written back
                 */
-               rmb();
+               dma_rmb();
 
                /* retrieve a buffer from the ring */
                skb = ixgbe_fetch_rx_buffer(rx_ring, rx_desc);
This page took 0.024964 seconds and 5 git commands to generate.