diff mbox series

dmaengine: mxs-dma: Add check for dma_set_max_seg_size in mxs_dma_probe()

Message ID 20240626084515.2829595-1-make24@iscas.ac.cn (mailing list archive)
State New
Headers show
Series dmaengine: mxs-dma: Add check for dma_set_max_seg_size in mxs_dma_probe() | expand

Commit Message

Ma Ke June 26, 2024, 8:45 a.m. UTC
As the possible failure of the dma_set_max_seg_size(), we should better
check the return value of the dma_set_max_seg_size().

Fixes: a580b8c5429a ("dmaengine: mxs-dma: add dma support for i.MX23/28")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
---
 drivers/dma/mxs-dma.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Peng Fan June 26, 2024, 9:02 a.m. UTC | #1
> Subject: [PATCH] dmaengine: mxs-dma: Add check for
> dma_set_max_seg_size in mxs_dma_probe()

Please read
https://lore.kernel.org/all/ZiocjS6tbeTt2mPD@matsya/

Regards,
Peng.

> 
> As the possible failure of the dma_set_max_seg_size(), we should
> better check the return value of the dma_set_max_seg_size().
> 
> Fixes: a580b8c5429a ("dmaengine: mxs-dma: add dma support for
> i.MX23/28")
> Signed-off-by: Ma Ke <make24@iscas.ac.cn>
> ---
>  drivers/dma/mxs-dma.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c index
> cfb9962417ef..90cbb9b04b02 100644
> --- a/drivers/dma/mxs-dma.c
> +++ b/drivers/dma/mxs-dma.c
> @@ -798,7 +798,9 @@ static int mxs_dma_probe(struct
> platform_device *pdev)
>  	mxs_dma->dma_device.dev = &pdev->dev;
> 
>  	/* mxs_dma gets 65535 bytes maximum sg size */
> -	dma_set_max_seg_size(mxs_dma->dma_device.dev,
> MAX_XFER_BYTES);
> +	ret = dma_set_max_seg_size(mxs_dma->dma_device.dev,
> MAX_XFER_BYTES);
> +	if (ret)
> +		return ret;
> 
>  	mxs_dma->dma_device.device_alloc_chan_resources =
> mxs_dma_alloc_chan_resources;
>  	mxs_dma->dma_device.device_free_chan_resources =
> mxs_dma_free_chan_resources;
> --
> 2.25.1
>
Michael Nazzareno Trimarchi June 26, 2024, 9:07 a.m. UTC | #2
Hi

On Wed, Jun 26, 2024 at 11:02 AM Peng Fan <peng.fan@nxp.com> wrote:
>
> > Subject: [PATCH] dmaengine: mxs-dma: Add check for
> > dma_set_max_seg_size in mxs_dma_probe()
>
> Please read
> https://lore.kernel.org/all/ZiocjS6tbeTt2mPD@matsya/
>
> Regards,
> Peng.
>
> >
> > As the possible failure of the dma_set_max_seg_size(), we should
> > better check the return value of the dma_set_max_seg_size().
> >
> > Fixes: a580b8c5429a ("dmaengine: mxs-dma: add dma support for
> > i.MX23/28")
> > Signed-off-by: Ma Ke <make24@iscas.ac.cn>
> > ---
> >  drivers/dma/mxs-dma.c | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c index
> > cfb9962417ef..90cbb9b04b02 100644
> > --- a/drivers/dma/mxs-dma.c
> > +++ b/drivers/dma/mxs-dma.c
> > @@ -798,7 +798,9 @@ static int mxs_dma_probe(struct
> > platform_device *pdev)
> >       mxs_dma->dma_device.dev = &pdev->dev;
> >
> >       /* mxs_dma gets 65535 bytes maximum sg size */
> > -     dma_set_max_seg_size(mxs_dma->dma_device.dev,
> > MAX_XFER_BYTES);
> > +     ret = dma_set_max_seg_size(mxs_dma->dma_device.dev,
> > MAX_XFER_BYTES);
> > +     if (ret)
> > +             return ret;
> >

If the function returns an error then you should check for it. If it's
not logical to have it, then you could
make void the function that is called and WARN_ON on an illogical situation

Michael

> >       mxs_dma->dma_device.device_alloc_chan_resources =
> > mxs_dma_alloc_chan_resources;
> >       mxs_dma->dma_device.device_free_chan_resources =
> > mxs_dma_free_chan_resources;
> > --
> > 2.25.1
> >
>
>
Markus Elfring June 26, 2024, 11:15 a.m. UTC | #3
> As the possible failure of the dma_set_max_seg_size(), we should better
> check the return value of the dma_set_max_seg_size().

Please avoid the repetition of a function name in such a change description.
Can it be improved with a corresponding imperative wording?
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/process/submitting-patches.rst?h=v6.10-rc5#n94

Regards,
Markus
diff mbox series

Patch

diff --git a/drivers/dma/mxs-dma.c b/drivers/dma/mxs-dma.c
index cfb9962417ef..90cbb9b04b02 100644
--- a/drivers/dma/mxs-dma.c
+++ b/drivers/dma/mxs-dma.c
@@ -798,7 +798,9 @@  static int mxs_dma_probe(struct platform_device *pdev)
 	mxs_dma->dma_device.dev = &pdev->dev;
 
 	/* mxs_dma gets 65535 bytes maximum sg size */
-	dma_set_max_seg_size(mxs_dma->dma_device.dev, MAX_XFER_BYTES);
+	ret = dma_set_max_seg_size(mxs_dma->dma_device.dev, MAX_XFER_BYTES);
+	if (ret)
+		return ret;
 
 	mxs_dma->dma_device.device_alloc_chan_resources = mxs_dma_alloc_chan_resources;
 	mxs_dma->dma_device.device_free_chan_resources = mxs_dma_free_chan_resources;