diff mbox series

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

Message ID 20201006203508.3cb3d0e3@canb.auug.org.au (mailing list archive)
State New, archived
Headers show
Series linux-next: build failure after merge of the hmm tree | expand

Commit Message

Stephen Rothwell Oct. 6, 2020, 9:35 a.m. UTC
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 <sfr@canb.auug.org.au>
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 <sfr@canb.auug.org.au>
---
 drivers/gpu/drm/drm_prime.c | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

Comments

Jason Gunthorpe Oct. 6, 2020, 4:41 p.m. UTC | #1
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 <sfr@canb.auug.org.au>
> 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 <sfr@canb.auug.org.au>
>  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

Jason
Stephen Rothwell Oct. 12, 2020, 4:19 a.m. UTC | #2
Hi all,

On Tue, 6 Oct 2020 13:41:20 -0300 Jason Gunthorpe <jgg@nvidia.com> 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 <sfr@canb.auug.org.au>
> > 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 <sfr@canb.auug.org.au>
> >  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.
Stephen Rothwell Oct. 15, 2020, 9:11 p.m. UTC | #3
Hi all,

On Mon, 12 Oct 2020 15:19:48 +1100 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> On Tue, 6 Oct 2020 13:41:20 -0300 Jason Gunthorpe <jgg@nvidia.com> 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 <sfr@canb.auug.org.au>
> > > 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 <sfr@canb.auug.org.au>
> > >  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.
diff mbox series

Patch

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: