]> git.itanic.dy.fi Git - linux-stable/blobdiff - drivers/net/ethernet/intel/iavf/iavf_txrx.c
iavf: Fix bad page state
[linux-stable] / drivers / net / ethernet / intel / iavf / iavf_txrx.c
index 4c3f3f41911080202b5bb62d25ba67694ff0882a..18b6a702a1d6dff9e9aeac001526444a6ca38736 100644 (file)
@@ -1393,7 +1393,7 @@ static struct sk_buff *iavf_build_skb(struct iavf_ring *rx_ring,
 #endif
        struct sk_buff *skb;
 
-       if (!rx_buffer)
+       if (!rx_buffer || !size)
                return NULL;
        /* prefetch first cache line of first page */
        va = page_address(rx_buffer->page) + rx_buffer->page_offset;
@@ -1551,7 +1551,7 @@ static int iavf_clean_rx_irq(struct iavf_ring *rx_ring, int budget)
                /* exit if we failed to retrieve a buffer */
                if (!skb) {
                        rx_ring->rx_stats.alloc_buff_failed++;
-                       if (rx_buffer)
+                       if (rx_buffer && size)
                                rx_buffer->pagecnt_bias++;
                        break;
                }