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

From: Stephen Rothwell <[email-masked]>
Date: Mon, 12 Oct 2020 15:19:48 +1100

Hi all,

On Tue, 6 Oct 2020 13:41:20 -0300 Jason Gunthorpe <[email-masked]> wrote:
>
> On Tue, Oct 06, 2020 at 08:35:08PM +1100, Stephen Rothwell wrote:
> > 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
> > +++ 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:  
> 
> This looks OK to me, thanks

This merge fix patch is now being applied to the merge of the drm tree
since the rdma tree (that is merged before the drm tree) has merged the
hmm tree.

-- 
Cheers,
Stephen Rothwell