Message ID | 1516188292-144008-1-git-send-email-weiyongjun1@huawei.com (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Geert Uytterhoeven |
Headers | show |
Hello! On 01/17/2018 02:24 PM, Wei Yongjun wrote: > Fix to return error code -ENODEV from the dma_request_slave_channel() > error handling case instead of 0, as done elsewhere in this function. > rc can be overwrite to 0 by dmaengine_slave_config() in the for loop. Overwritten. > Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> [...] MBR, Sergei
On Wed, Jan 17, 2018 at 12:24 PM, Wei Yongjun <weiyongjun1@huawei.com> wrote: > Fix to return error code -ENODEV from the dma_request_slave_channel() > error handling case instead of 0, as done elsewhere in this function. > rc can be overwrite to 0 by dmaengine_slave_config() in the for loop. > > Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Hi Wei Yongjun, Thank you for the patch. > Subject: [PATCH -next] media: rcar_drif: fix error return code in > rcar_drif_alloc_dmachannels() > > Fix to return error code -ENODEV from the dma_request_slave_channel() > error handling case instead of 0, as done elsewhere in this function. > rc can be overwrite to 0 by dmaengine_slave_config() in the for loop. > > Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> Reviewed-by: Ramesh Shanmugasundaram <Ramesh.shanmugasundaram@bp.renesas.com> Thanks, Ramesh > --- > drivers/media/platform/rcar_drif.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/media/platform/rcar_drif.c > b/drivers/media/platform/rcar_drif.c > index b2e080e..dc7e280 100644 > --- a/drivers/media/platform/rcar_drif.c > +++ b/drivers/media/platform/rcar_drif.c > @@ -274,7 +274,7 @@ static int rcar_drif_alloc_dmachannels(struct > rcar_drif_sdr *sdr) { > struct dma_slave_config dma_cfg; > unsigned int i; > - int ret = -ENODEV; > + int ret; > > for_each_rcar_drif_channel(i, &sdr->cur_ch_mask) { > struct rcar_drif *ch = sdr->ch[i]; > @@ -282,6 +282,7 @@ static int rcar_drif_alloc_dmachannels(struct > rcar_drif_sdr *sdr) > ch->dmach = dma_request_slave_channel(&ch->pdev->dev, "rx"); > if (!ch->dmach) { > rdrif_err(sdr, "ch%u: dma channel req failed\n", i); > + ret = -ENODEV; > goto dmach_error; > }
diff --git a/drivers/media/platform/rcar_drif.c b/drivers/media/platform/rcar_drif.c index b2e080e..dc7e280 100644 --- a/drivers/media/platform/rcar_drif.c +++ b/drivers/media/platform/rcar_drif.c @@ -274,7 +274,7 @@ static int rcar_drif_alloc_dmachannels(struct rcar_drif_sdr *sdr) { struct dma_slave_config dma_cfg; unsigned int i; - int ret = -ENODEV; + int ret; for_each_rcar_drif_channel(i, &sdr->cur_ch_mask) { struct rcar_drif *ch = sdr->ch[i]; @@ -282,6 +282,7 @@ static int rcar_drif_alloc_dmachannels(struct rcar_drif_sdr *sdr) ch->dmach = dma_request_slave_channel(&ch->pdev->dev, "rx"); if (!ch->dmach) { rdrif_err(sdr, "ch%u: dma channel req failed\n", i); + ret = -ENODEV; goto dmach_error; }
Fix to return error code -ENODEV from the dma_request_slave_channel() error handling case instead of 0, as done elsewhere in this function. rc can be overwrite to 0 by dmaengine_slave_config() in the for loop. Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com> --- drivers/media/platform/rcar_drif.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)