ixgbe: Use __free_pages instead of put_page to release pages
authorAlexander Duyck <alexander.h.duyck@intel.com>
Fri, 6 Apr 2012 04:24:50 +0000 (04:24 +0000)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Fri, 4 May 2012 10:20:35 +0000 (03:20 -0700)
This change replaces the calls to put_page with calls to __free_page.

Since the FCoE code is able to access order 1 pages I thought it would be a
good idea to change things over to using __free_pages since that is the
preferred approach for freeing pages.

Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Tested-by: Ross Brattain <ross.b.brattain@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c

index 09409ae9b6886a55e3c511d7a81e04457f04f0c4..c2ceda9133ba09ae4ee81b182573a68908109717 100644 (file)
@@ -1144,7 +1144,7 @@ static bool ixgbe_alloc_mapped_page(struct ixgbe_ring *rx_ring,
         * there isn't much point in holding memory we can't use
         */
        if (dma_mapping_error(rx_ring->dev, dma)) {
-               put_page(page);
+               __free_pages(page, ixgbe_rx_pg_order(rx_ring));
                bi->page = NULL;
 
                rx_ring->rx_stats.alloc_rx_page_failed++;
@@ -4102,7 +4102,8 @@ static void ixgbe_clean_rx_ring(struct ixgbe_ring *rx_ring)
                                       DMA_FROM_DEVICE);
                rx_buffer->dma = 0;
                if (rx_buffer->page)
-                       put_page(rx_buffer->page);
+                       __free_pages(rx_buffer->page,
+                                    ixgbe_rx_pg_order(rx_ring));
                rx_buffer->page = NULL;
        }