Subject: linux-next: build failure after merge of the hmm tree

From: Stephen Rothwell <[email-masked]>
Date: Tue, 6 Oct 2020 20:35:08 +1100

Hi all,

After merging the hmm tree, today's linux-next build (arm
multi_v7_defconfig) failed like this:

Caused by commit

  07da1223ec93 ("lib/scatterlist: Add support in dynamic allocation of SG table from pages")

interacting with commit

  707d561f77b5 ("drm: allow limiting the scatter list size.")

from the drm tree.

I have added the following merge fix patch

From: Stephen Rothwell <[email-masked]>
Date: Tue, 6 Oct 2020 20:22:51 +1100
Subject: [PATCH] lib/scatterlist: merge fix for "drm: allow limiting the
 scatter list size."

Signed-off-by: Stephen Rothwell <[email-masked]>
---
 drivers/gpu/drm/drm_prime.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/drm_prime.c b/drivers/gpu/drm/drm_prime.c
index 11fe9ff76fd5..83ac901b65a2 100644
--- a/drivers/gpu/drm/drm_prime.c
+++ b/drivers/gpu/drm/drm_prime.c
@@ -807,6 +807,7 @@ struct sg_table *drm_prime_pages_to_sg(struct drm_device *dev,
 				       struct page **pages, unsigned int nr_pages)
 {
 	struct sg_table *sg = NULL;
+	struct scatterlist *sl;
 	size_t max_segment = 0;
 	int ret;
 
@@ -820,11 +821,13 @@ struct sg_table *drm_prime_pages_to_sg(struct drm_device *dev,
 		max_segment = dma_max_mapping_size(dev->dev);
 	if (max_segment == 0 || max_segment > SCATTERLIST_MAX_SEGMENT)
 		max_segment = SCATTERLIST_MAX_SEGMENT;
-	ret = __sg_alloc_table_from_pages(sg, pages, nr_pages, 0,
+	sl = __sg_alloc_table_from_pages(sg, pages, nr_pages, 0,
 					  nr_pages << PAGE_SHIFT,
-					  max_segment, GFP_KERNEL);
-	if (ret)
+					  max_segment, NULL, 0, GFP_KERNEL);
+	if (IS_ERR(sl)) {
+		ret = PTR_ERR(sl);
 		goto out;
+	}
 
 	return sg;
 out:
-- 
2.28.0

I assume that there may be more needed.

-- 
Cheers,
Stephen Rothwell