aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ixgb/ixgb_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/ixgb/ixgb_main.c')
-rw-r--r--drivers/net/ixgb/ixgb_main.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/ixgb/ixgb_main.c b/drivers/net/ixgb/ixgb_main.c
index c6b75c83100c..45fc89b9ba64 100644
--- a/drivers/net/ixgb/ixgb_main.c
+++ b/drivers/net/ixgb/ixgb_main.c
@@ -1816,6 +1816,7 @@ ixgb_clean_tx_irq(struct ixgb_adapter *adapter)
1816 1816
1817 while (eop_desc->status & IXGB_TX_DESC_STATUS_DD) { 1817 while (eop_desc->status & IXGB_TX_DESC_STATUS_DD) {
1818 1818
1819 rmb(); /* read buffer_info after eop_desc */
1819 for (cleaned = false; !cleaned; ) { 1820 for (cleaned = false; !cleaned; ) {
1820 tx_desc = IXGB_TX_DESC(*tx_ring, i); 1821 tx_desc = IXGB_TX_DESC(*tx_ring, i);
1821 buffer_info = &tx_ring->buffer_info[i]; 1822 buffer_info = &tx_ring->buffer_info[i];
@@ -1976,6 +1977,7 @@ ixgb_clean_rx_irq(struct ixgb_adapter *adapter, int *work_done, int work_to_do)
1976 break; 1977 break;
1977 1978
1978 (*work_done)++; 1979 (*work_done)++;
1980 rmb(); /* read descriptor and rx_buffer_info after status DD */
1979 status = rx_desc->status; 1981 status = rx_desc->status;
1980 skb = buffer_info->skb; 1982 skb = buffer_info->skb;
1981 buffer_info->skb = NULL; 1983 buffer_info->skb = NULL;