]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - drivers/net/ixgbe/ixgbe_main.c
ixgbe: prevent speculative processing of descriptors before ready
[net-next-2.6.git] / drivers / net / ixgbe / ixgbe_main.c
index 43a8de3dc4d68e8f0ca6766b40fd1e86ff10e9a2..330879004ea1be1c08575330b6ff9ea9c67a4d0e 100644 (file)
@@ -849,6 +849,7 @@ static bool ixgbe_clean_rx_irq(struct ixgbe_q_vector *q_vector,
                        break;
                (*work_done)++;
 
+               rmb(); /* read descriptor and rx_buffer_info after status DD */
                if (rx_ring->flags & IXGBE_RING_RX_PS_ENABLED) {
                        hdr_info = le16_to_cpu(ixgbe_get_hdr_info(rx_desc));
                        len = (hdr_info & IXGBE_RXDADV_HDRBUFLEN_MASK) >>