浏览代码

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:
  IB/mthca: Clear ICM pages before handing to FW
Linus Torvalds 17 年之前
父节点
当前提交
f6837bfa65
共有 1 个文件被更改,包括 5 次插入1 次删除
  1. 5 1
      drivers/infiniband/hw/mthca/mthca_memfree.c

+ 5 - 1
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
 {
 {
 	struct page *page;
 	struct page *page;
 
 
-	page = alloc_pages(gfp_mask, order);
+	/*
+	 * Use __GFP_ZERO because buggy firmware assumes ICM pages are
+	 * cleared, and subtle failures are seen if they aren't.
+	 */
+	page = alloc_pages(gfp_mask | __GFP_ZERO, order);
 	if (!page)
 	if (!page)
 		return -ENOMEM;
 		return -ENOMEM;