diff options
| -rw-r--r-- | drivers/infiniband/hw/mthca/mthca_memfree.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/mthca/mthca_memfree.c b/drivers/infiniband/hw/mthca/mthca_memfree.c index b224079d4e1f..d5862e5d99a0 100644 --- a/drivers/infiniband/hw/mthca/mthca_memfree.c +++ b/drivers/infiniband/hw/mthca/mthca_memfree.c | |||
| @@ -109,7 +109,11 @@ static int mthca_alloc_icm_pages(struct scatterlist *mem, int order, gfp_t gfp_m | |||
| 109 | { | 109 | { |
| 110 | struct page *page; | 110 | struct page *page; |
| 111 | 111 | ||
| 112 | page = alloc_pages(gfp_mask, order); | 112 | /* |
| 113 | * Use __GFP_ZERO because buggy firmware assumes ICM pages are | ||
| 114 | * cleared, and subtle failures are seen if they aren't. | ||
| 115 | */ | ||
| 116 | page = alloc_pages(gfp_mask | __GFP_ZERO, order); | ||
| 113 | if (!page) | 117 | if (!page) |
| 114 | return -ENOMEM; | 118 | return -ENOMEM; |
| 115 | 119 | ||
