--- /dev/null
+From 8c4674b2176db67f3a059d9dfb22377caff3a3be Mon Sep 17 00:00:00 2001
+From: Vipul Pandya <vipul@chelsio.com>
+Date: Wed, 30 May 2012 17:26:47 +0530
+Subject: [PATCH] cxgb4: remove netdev_alloc_page and use __GFP_COLD
+
+This patch is created from following upstream commit
+1f2149c1df50c8c712950872675f46e6e44629f0
+
+Signed-off-by: Vipul Pandya <vipul@chelsio.com>
+---
+ drivers/net/ethernet/chelsio/cxgb4/sge.c | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/drivers/net/ethernet/chelsio/cxgb4/sge.c b/drivers/net/ethernet/chelsio/cxgb4/sge.c
+index c5e99fb..6a554a7 100644
+--- a/drivers/net/ethernet/chelsio/cxgb4/sge.c
++++ b/drivers/net/ethernet/chelsio/cxgb4/sge.c
+@@ -491,7 +491,7 @@ static unsigned int refill_fl(struct adapter *adap, struct sge_fl *q, int n,
+ __be64 *d = &q->desc[q->pidx];
+ struct rx_sw_desc *sd = &q->sdesc[q->pidx];
+
+- gfp |= __GFP_NOWARN; /* failures are expected */
++ gfp |= __GFP_NOWARN | __GFP_COLD; /* failures are expected */
+
+ #if FL_PG_ORDER > 0
+ /*
+@@ -528,7 +528,7 @@ static unsigned int refill_fl(struct adapter *adap, struct sge_fl *q, int n,
+ #endif
+
+ while (n--) {
+- pg = __netdev_alloc_page(adap->port[0], gfp);
++ pg = alloc_page(gfp);
+ if (unlikely(!pg)) {
+ q->alloc_failed++;
+ break;
+@@ -537,7 +537,7 @@ static unsigned int refill_fl(struct adapter *adap, struct sge_fl *q, int n,
+ mapping = dma_map_page(adap->pdev_dev, pg, 0, PAGE_SIZE,
+ PCI_DMA_FROMDEVICE);
+ if (unlikely(dma_mapping_error(adap->pdev_dev, mapping))) {
+- netdev_free_page(adap->port[0], pg);
++ put_page(pg);
+ goto out;
+ }
+ *d++ = cpu_to_be64(mapping);
+--
+1.7.7
+
+++ /dev/null
-diff -rup a/drivers/net/ethernet/chelsio/cxgb4/sge.c b/drivers/net/ethernet/chelsio/cxgb4/sge.c
---- a/drivers/net/ethernet/chelsio/cxgb4/sge.c 2012-05-21 13:17:11.000000000 -0400
-+++ b/drivers/net/ethernet/chelsio/cxgb4/sge.c 2012-05-21 13:19:06.000000000 -0400
-@@ -528,7 +528,7 @@ static unsigned int refill_fl(struct ada
- #endif
-
- while (n--) {
-- pg = __netdev_alloc_page(adap->port[0], gfp);
-+ pg = alloc_pages(gfp, 0);
- if (unlikely(!pg)) {
- q->alloc_failed++;
- break;