diff mbox series

fpga: dfl: afu: Pass the correct device to dma_mapping_error()

Message ID 20190410215327.8024-1-swood@redhat.com
State Superseded
Delegated to: Alan Tull
Headers show
Series fpga: dfl: afu: Pass the correct device to dma_mapping_error() | expand

Commit Message

Scott Wood April 10, 2019, 9:53 p.m. UTC
dma_mapping_error() was being called on a different device struct than
what was passed to map/unmap.  Besides rendering the error checking
ineffective, it caused a debug splat with CONFIG_DMA_API_DEBUG.

Signed-off-by: Scott Wood <swood@redhat.com>
---
 drivers/fpga/dfl-afu-dma-region.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Wu, Hao April 11, 2019, 12:33 p.m. UTC | #1
On Wed, Apr 10, 2019 at 04:53:27PM -0500, Scott Wood wrote:
> dma_mapping_error() was being called on a different device struct than
> what was passed to map/unmap.  Besides rendering the error checking
> ineffective, it caused a debug splat with CONFIG_DMA_API_DEBUG.
> 
> Signed-off-by: Scott Wood <swood@redhat.com>

Hi Scott,

Looks good to me. Thanks for catching this issue.

Acked-by: Wu Hao <hao.wu@intel.com>

Hao

> ---
>  drivers/fpga/dfl-afu-dma-region.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/fpga/dfl-afu-dma-region.c b/drivers/fpga/dfl-afu-dma-region.c
> index e18a786fc943..cd68002ac097 100644
> --- a/drivers/fpga/dfl-afu-dma-region.c
> +++ b/drivers/fpga/dfl-afu-dma-region.c
> @@ -399,7 +399,7 @@ int afu_dma_map_region(struct dfl_feature_platform_data *pdata,
>  				    region->pages[0], 0,
>  				    region->length,
>  				    DMA_BIDIRECTIONAL);
> -	if (dma_mapping_error(&pdata->dev->dev, region->iova)) {
> +	if (dma_mapping_error(dfl_fpga_pdata_to_parent(pdata), region->iova)) {
>  		dev_err(&pdata->dev->dev, "failed to map for dma\n");
>  		ret = -EFAULT;
>  		goto unpin_pages;
> -- 
> 1.8.3.1
Moritz Fischer April 11, 2019, 4:35 p.m. UTC | #2
Hi Scott,

good catch!

On Thu, Apr 11, 2019 at 5:49 AM Wu Hao <hao.wu@intel.com> wrote:
>
> On Wed, Apr 10, 2019 at 04:53:27PM -0500, Scott Wood wrote:
> > dma_mapping_error() was being called on a different device struct than
> > what was passed to map/unmap.  Besides rendering the error checking
> > ineffective, it caused a debug splat with CONFIG_DMA_API_DEBUG.
> >
> > Signed-off-by: Scott Wood <swood@redhat.com>
>
> Hi Scott,
>
> Looks good to me. Thanks for catching this issue.
>
> Acked-by: Wu Hao <hao.wu@intel.com>
>
> Hao
>
> > ---
> >  drivers/fpga/dfl-afu-dma-region.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/fpga/dfl-afu-dma-region.c b/drivers/fpga/dfl-afu-dma-region.c
> > index e18a786fc943..cd68002ac097 100644
> > --- a/drivers/fpga/dfl-afu-dma-region.c
> > +++ b/drivers/fpga/dfl-afu-dma-region.c
> > @@ -399,7 +399,7 @@ int afu_dma_map_region(struct dfl_feature_platform_data *pdata,
> >                                   region->pages[0], 0,
> >                                   region->length,
> >                                   DMA_BIDIRECTIONAL);
> > -     if (dma_mapping_error(&pdata->dev->dev, region->iova)) {
> > +     if (dma_mapping_error(dfl_fpga_pdata_to_parent(pdata), region->iova)) {
> >               dev_err(&pdata->dev->dev, "failed to map for dma\n");
> >               ret = -EFAULT;
> >               goto unpin_pages;
> > --
> > 1.8.3.1

Acked-by: Moritz Fischer <mdf@kernel.org>

Thanks
Moritz
Alan Tull April 15, 2019, 7:22 p.m. UTC | #3
On Thu, Apr 11, 2019 at 11:36 AM Moritz Fischer
<moritz.fischer.private@gmail.com> wrote:

Hi Scott,

Thanks!

>
> Hi Scott,
>
> good catch!
>
> On Thu, Apr 11, 2019 at 5:49 AM Wu Hao <hao.wu@intel.com> wrote:
> >
> > On Wed, Apr 10, 2019 at 04:53:27PM -0500, Scott Wood wrote:
> > > dma_mapping_error() was being called on a different device struct than
> > > what was passed to map/unmap.  Besides rendering the error checking
> > > ineffective, it caused a debug splat with CONFIG_DMA_API_DEBUG.
> > >
> > > Signed-off-by: Scott Wood <swood@redhat.com>
> >
> > Hi Scott,
> >
> > Looks good to me. Thanks for catching this issue.
> >
> > Acked-by: Wu Hao <hao.wu@intel.com>
> >
> > Hao
> >
> > > ---
> > >  drivers/fpga/dfl-afu-dma-region.c | 2 +-
> > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > >
> > > diff --git a/drivers/fpga/dfl-afu-dma-region.c b/drivers/fpga/dfl-afu-dma-region.c
> > > index e18a786fc943..cd68002ac097 100644
> > > --- a/drivers/fpga/dfl-afu-dma-region.c
> > > +++ b/drivers/fpga/dfl-afu-dma-region.c
> > > @@ -399,7 +399,7 @@ int afu_dma_map_region(struct dfl_feature_platform_data *pdata,
> > >                                   region->pages[0], 0,
> > >                                   region->length,
> > >                                   DMA_BIDIRECTIONAL);
> > > -     if (dma_mapping_error(&pdata->dev->dev, region->iova)) {
> > > +     if (dma_mapping_error(dfl_fpga_pdata_to_parent(pdata), region->iova)) {
> > >               dev_err(&pdata->dev->dev, "failed to map for dma\n");
> > >               ret = -EFAULT;
> > >               goto unpin_pages;
> > > --
> > > 1.8.3.1
>
> Acked-by: Moritz Fischer <mdf@kernel.org>

Acked-by: Alan Tull <atull@kernel.org>

>
> Thanks
> Moritz

Alan
Scott Wood May 8, 2019, 9:39 p.m. UTC | #4
On Mon, 2019-04-15 at 14:22 -0500, Alan Tull wrote:
> On Thu, Apr 11, 2019 at 11:36 AM Moritz Fischer
> <moritz.fischer.private@gmail.com> wrote:
> 
> Hi Scott,
> 
> Thanks!
> 
> > Hi Scott,
> > 
> > good catch!
> > 
> > On Thu, Apr 11, 2019 at 5:49 AM Wu Hao <hao.wu@intel.com> wrote:
> > > On Wed, Apr 10, 2019 at 04:53:27PM -0500, Scott Wood wrote:
> > > > dma_mapping_error() was being called on a different device struct
> > > > than
> > > > what was passed to map/unmap.  Besides rendering the error checking
> > > > ineffective, it caused a debug splat with CONFIG_DMA_API_DEBUG.
> > > > 
> > > > Signed-off-by: Scott Wood <swood@redhat.com>
> > > 
> > > Hi Scott,
> > > 
> > > Looks good to me. Thanks for catching this issue.
> > > 
> > > Acked-by: Wu Hao <hao.wu@intel.com>
> > > 
> > > Hao
> > > 
> > > > ---
> > > >  drivers/fpga/dfl-afu-dma-region.c | 2 +-
> > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > 
> > > > diff --git a/drivers/fpga/dfl-afu-dma-region.c b/drivers/fpga/dfl-
> > > > afu-dma-region.c
> > > > index e18a786fc943..cd68002ac097 100644
> > > > --- a/drivers/fpga/dfl-afu-dma-region.c
> > > > +++ b/drivers/fpga/dfl-afu-dma-region.c
> > > > @@ -399,7 +399,7 @@ int afu_dma_map_region(struct
> > > > dfl_feature_platform_data *pdata,
> > > >                                   region->pages[0], 0,
> > > >                                   region->length,
> > > >                                   DMA_BIDIRECTIONAL);
> > > > -     if (dma_mapping_error(&pdata->dev->dev, region->iova)) {
> > > > +     if (dma_mapping_error(dfl_fpga_pdata_to_parent(pdata), region-
> > > > >iova)) {
> > > >               dev_err(&pdata->dev->dev, "failed to map for dma\n");
> > > >               ret = -EFAULT;
> > > >               goto unpin_pages;
> > > > --
> > > > 1.8.3.1
> > 
> > Acked-by: Moritz Fischer <mdf@kernel.org>
> 
> Acked-by: Alan Tull <atull@kernel.org>

Whose tree would these patches be going through?

-Scott
Moritz Fischer May 9, 2019, 1:55 a.m. UTC | #5
Hi Scott,

On Wed, May 08, 2019 at 04:39:51PM -0500, Scott Wood wrote:
> On Mon, 2019-04-15 at 14:22 -0500, Alan Tull wrote:
> > On Thu, Apr 11, 2019 at 11:36 AM Moritz Fischer
> > <moritz.fischer.private@gmail.com> wrote:
> > 
> > Hi Scott,
> > 
> > Thanks!
> > 
> > > Hi Scott,
> > > 
> > > good catch!
> > > 
> > > On Thu, Apr 11, 2019 at 5:49 AM Wu Hao <hao.wu@intel.com> wrote:
> > > > On Wed, Apr 10, 2019 at 04:53:27PM -0500, Scott Wood wrote:
> > > > > dma_mapping_error() was being called on a different device struct
> > > > > than
> > > > > what was passed to map/unmap.  Besides rendering the error checking
> > > > > ineffective, it caused a debug splat with CONFIG_DMA_API_DEBUG.
> > > > > 
> > > > > Signed-off-by: Scott Wood <swood@redhat.com>
> > > > 
> > > > Hi Scott,
> > > > 
> > > > Looks good to me. Thanks for catching this issue.
> > > > 
> > > > Acked-by: Wu Hao <hao.wu@intel.com>
> > > > 
> > > > Hao
> > > > 
> > > > > ---
> > > > >  drivers/fpga/dfl-afu-dma-region.c | 2 +-
> > > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > 
> > > > > diff --git a/drivers/fpga/dfl-afu-dma-region.c b/drivers/fpga/dfl-
> > > > > afu-dma-region.c
> > > > > index e18a786fc943..cd68002ac097 100644
> > > > > --- a/drivers/fpga/dfl-afu-dma-region.c
> > > > > +++ b/drivers/fpga/dfl-afu-dma-region.c
> > > > > @@ -399,7 +399,7 @@ int afu_dma_map_region(struct
> > > > > dfl_feature_platform_data *pdata,
> > > > >                                   region->pages[0], 0,
> > > > >                                   region->length,
> > > > >                                   DMA_BIDIRECTIONAL);
> > > > > -     if (dma_mapping_error(&pdata->dev->dev, region->iova)) {
> > > > > +     if (dma_mapping_error(dfl_fpga_pdata_to_parent(pdata), region-
> > > > > >iova)) {
> > > > >               dev_err(&pdata->dev->dev, "failed to map for dma\n");
> > > > >               ret = -EFAULT;
> > > > >               goto unpin_pages;
> > > > > --
> > > > > 1.8.3.1
> > > 
> > > Acked-by: Moritz Fischer <mdf@kernel.org>
> > 
> > Acked-by: Alan Tull <atull@kernel.org>
> 
> Whose tree would these patches be going through?

Greg, usually. We're a bit late this time... again ... But haven't forgotten about it.

Sorry,

Moritz
diff mbox series

Patch

diff --git a/drivers/fpga/dfl-afu-dma-region.c b/drivers/fpga/dfl-afu-dma-region.c
index e18a786fc943..cd68002ac097 100644
--- a/drivers/fpga/dfl-afu-dma-region.c
+++ b/drivers/fpga/dfl-afu-dma-region.c
@@ -399,7 +399,7 @@  int afu_dma_map_region(struct dfl_feature_platform_data *pdata,
 				    region->pages[0], 0,
 				    region->length,
 				    DMA_BIDIRECTIONAL);
-	if (dma_mapping_error(&pdata->dev->dev, region->iova)) {
+	if (dma_mapping_error(dfl_fpga_pdata_to_parent(pdata), region->iova)) {
 		dev_err(&pdata->dev->dev, "failed to map for dma\n");
 		ret = -EFAULT;
 		goto unpin_pages;