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

From: Stephen Rothwell <[email-masked]>
Date: Fri, 16 Oct 2020 08:11:03 +1100

Hi all,

On Mon, 12 Oct 2020 15:19:48 +1100 Stephen Rothwell <[email-masked]> wrote:
>
> 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.

This merge fix patch is now being applied to the merge of the rdma tree
since the Linus has merged the drm tree.

-- 
Cheers,
Stephen Rothwell