diff mbox

[v4,4/8] dmaengine: add verification of DMA_MEMSET_SG in dmaengine

Message ID 150212397710.23722.415749304040796516.stgit@djiang5-desk3.ch.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Dave Jiang Aug. 7, 2017, 4:39 p.m. UTC
DMA_MEMSET_SG is missing the verification of having the operation set and
also a supporting function provided.

Fixes: Commit 50c7cd2bd ("dmaengine: Add scatter-gathered memset")

Signed-off-by: Dave Jiang <dave.jiang@intel.com>
---
 drivers/dma/dmaengine.c |    2 ++
 1 file changed, 2 insertions(+)

Comments

Dan Williams Aug. 10, 2017, 2:24 a.m. UTC | #1
On Mon, Aug 7, 2017 at 9:39 AM, Dave Jiang <dave.jiang@intel.com> wrote:
> DMA_MEMSET_SG is missing the verification of having the operation set and
> also a supporting function provided.
>
> Fixes: Commit 50c7cd2bd ("dmaengine: Add scatter-gathered memset")
>
> Signed-off-by: Dave Jiang <dave.jiang@intel.com>
> ---
>  drivers/dma/dmaengine.c |    2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c
> index 1c424f6..d9a71f0 100644
> --- a/drivers/dma/dmaengine.c
> +++ b/drivers/dma/dmaengine.c
> @@ -935,6 +935,8 @@ int dma_async_device_register(struct dma_device *device)
>                 !device->device_prep_dma_pq_val);
>         BUG_ON(dma_has_cap(DMA_MEMSET, device->cap_mask) &&
>                 !device->device_prep_dma_memset);
> +       BUG_ON(dma_has_cap(DMA_MEMSET_SG, device->cap_mask) &&
> +               !device->device_prep_dma_memset_sg);
>         BUG_ON(dma_has_cap(DMA_INTERRUPT, device->cap_mask) &&
>                 !device->device_prep_dma_interrupt);
>         BUG_ON(dma_has_cap(DMA_SG_SG, device->cap_mask) &&
>

One of these days we might convert all of these to a WARN_ON_ONCE()
with a an error return. No need to crash dmaengine developer systems
when they make this small mistake.
Vinod Koul Aug. 27, 2017, 11:16 a.m. UTC | #2
On Wed, Aug 09, 2017 at 07:24:21PM -0700, Dan Williams wrote:
> On Mon, Aug 7, 2017 at 9:39 AM, Dave Jiang <dave.jiang@intel.com> wrote:
> > DMA_MEMSET_SG is missing the verification of having the operation set and
> > also a supporting function provided.
> >
> > Fixes: Commit 50c7cd2bd ("dmaengine: Add scatter-gathered memset")
> >
> > Signed-off-by: Dave Jiang <dave.jiang@intel.com>
> > ---
> >  drivers/dma/dmaengine.c |    2 ++
> >  1 file changed, 2 insertions(+)
> >
> > diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c
> > index 1c424f6..d9a71f0 100644
> > --- a/drivers/dma/dmaengine.c
> > +++ b/drivers/dma/dmaengine.c
> > @@ -935,6 +935,8 @@ int dma_async_device_register(struct dma_device *device)
> >                 !device->device_prep_dma_pq_val);
> >         BUG_ON(dma_has_cap(DMA_MEMSET, device->cap_mask) &&
> >                 !device->device_prep_dma_memset);
> > +       BUG_ON(dma_has_cap(DMA_MEMSET_SG, device->cap_mask) &&
> > +               !device->device_prep_dma_memset_sg);
> >         BUG_ON(dma_has_cap(DMA_INTERRUPT, device->cap_mask) &&
> >                 !device->device_prep_dma_interrupt);
> >         BUG_ON(dma_has_cap(DMA_SG_SG, device->cap_mask) &&
> >
> 
> One of these days we might convert all of these to a WARN_ON_ONCE()
> with a an error return. No need to crash dmaengine developer systems
> when they make this small mistake.

Yes I have been wanting to do that for a while now :) thanks for the
reminder...
diff mbox

Patch

diff --git a/drivers/dma/dmaengine.c b/drivers/dma/dmaengine.c
index 1c424f6..d9a71f0 100644
--- a/drivers/dma/dmaengine.c
+++ b/drivers/dma/dmaengine.c
@@ -935,6 +935,8 @@  int dma_async_device_register(struct dma_device *device)
 		!device->device_prep_dma_pq_val);
 	BUG_ON(dma_has_cap(DMA_MEMSET, device->cap_mask) &&
 		!device->device_prep_dma_memset);
+	BUG_ON(dma_has_cap(DMA_MEMSET_SG, device->cap_mask) &&
+		!device->device_prep_dma_memset_sg);
 	BUG_ON(dma_has_cap(DMA_INTERRUPT, device->cap_mask) &&
 		!device->device_prep_dma_interrupt);
 	BUG_ON(dma_has_cap(DMA_SG_SG, device->cap_mask) &&