drivers/media/platform/soc_camera/mx2_camera.c: fix error return code
Subsystems (2)
PATCH 2/14 drivers/media/platform/soc_camera/mx2_camera.c: fix error return code
From: Peter Senna Tschudin <[email protected]>
Convert a nonnegative error return code to a negative one, as returned elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
(
if@p1 (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret@p1 = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
--- drivers/media/platform/soc_camera/mx2_camera.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
drivers/media/platform/soc_camera/mx2_camera.c +4 -1
@@ -1800,13 +1800,16 @@ static int __devinit mx2_camera_probe(struct platform_device *pdev)if (!res_emma || !irq_emma) {dev_err (&pdev->dev,"no EMMA resources\n" ); + err = -ENODEV ; goto exit_free_irq; } pcdev->res_emma = res_emma; pcdev->irq_emma = irq_emma; -if (mx27_camera_emma_init (pcdev)) +if (mx27_camera_emma_init (pcdev)) { + err = -ENODEV ; goto exit_free_irq; + } } pcdev->soc_host.drv_name = MX2_CAM_DRV_NAME,
PATCH 2/14 drivers/media/platform/soc_camera/mx2_camera.c: fix error return code
Please review,
Regards,
Mauro.
-------- Mensagem original --------
Assunto: [PATCH 2/14] drivers/media/platform/soc_camera/mx2_camera.c: fix error return code
Data: Thu, 6 Sep 2012 17:23:59 +0200
De: Peter Senna Tschudin <[email protected]>
Para: Mauro Carvalho Chehab <[email protected]>
CC: [email protected], [email protected], [email protected], [email protected]
From: Peter Senna Tschudin <[email protected]>
Convert a nonnegative error return code to a negative one, as returned elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
(
if@p1 (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret@p1 = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
--- drivers/media/platform/soc_camera/mx2_camera.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
drivers/media/platform/soc_camera/mx2_camera.c +4 -1
@@ -1800,13 +1800,16 @@ static int __devinit mx2_camera_probe(struct platform_device *pdev)if (!res_emma || !irq_emma) {dev_err (&pdev->dev,"no EMMA resources\n" ); + err = -ENODEV ; goto exit_free_irq; } pcdev->res_emma = res_emma; pcdev->irq_emma = irq_emma; -if (mx27_camera_emma_init (pcdev)) +if (mx27_camera_emma_init (pcdev)) { + err = -ENODEV ; goto exit_free_irq; + } } pcdev->soc_host.drv_name = MX2_CAM_DRV_NAME,
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Hi Peter
Thanks for the patch, but I think it can be improved:
Quoted 52 lines · Mauro Carvalho Chehab
Please review,
Regards,
Mauro.-------- Mensagem original --------
Assunto: [PATCH 2/14]drivers/media/platform/soc_camera/mx2_camera.c: fix error return code
Data: Thu, 6 Sep 2012 17:23:59 +0200
De: Peter Senna Tschudin <[email protected]>
Para: Mauro Carvalho Chehab <[email protected]>
CC: [email protected], [email protected], [email protected], [email protected]From: Peter Senna Tschudin <[email protected]>
Convert a nonnegative error return code to a negative one, as returned elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)// <smpl>
(
if@p1 (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret@p1 = 0
)
... when != ret = e1when != &ret*if(...)
{
... when != ret = e2
when forall
return ret;
}// </smpl>
Signed-off-by Peter Senna Tschudin <[email protected]>--- drivers/media/platform/soc_camera/mx2_camera.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)drivers/media/platform/soc_camera/mx2_camera.c +0
-0@@ -1800,13 +1800,16 @@ static int __devinit mx2_camera_probe(struct platform_device *pdev)if (!res_emma || !irq_emma) {
drivers/media/platform/soc_camera/mx2_camera.c static int __devinit mx2_camera_probe(struct platform_device *pdev) · line 1810
Quoted 10 lines
drivers/media/platform/soc_camera/mx2_camera.c +3
-1dev_err (&pdev->dev,"no EMMA resources\n" ); + err = -ENODEV ; goto exit_free_irq; } pcdev->res_emma = res_emma; pcdev->irq_emma = irq_emma; -if (mx27_camera_emma_init (pcdev)) +if (mx27_camera_emma_init (pcdev)) { + err = -ENODEV ;
I think, propagating the error, returned by mx27_camera_emma_init() to the caller would be better, than using -ENODEV.
Thanks
Guennadi
Quoted 7 lines
drivers/media/platform/soc_camera/mx2_camera.c +1
-1goto exit_free_irq; + } } pcdev->soc_host.drv_name = MX2_CAM_DRV_NAME, --
Quoted 6 lines
To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/
PATCH v2 2/14 drivers/media/platform/soc_camera/mx2_camera.c: fix error return code
From: Peter Senna Tschudin <[email protected]>
Convert a nonnegative error return code to a negative one, as returned elsewhere in the function.
A simplified version of the semantic match that finds this problem is as
follows: (http://coccinelle.lip6.fr/)
// <smpl>
(
if@p1 (\(ret < 0\|ret != 0\))
{ ... return ret; }
|
ret@p1 = 0
)
... when != ret = e1
when != &ret
*if(...)
{
... when != ret = e2
when forall
return ret;
}
// </smpl>
--- drivers/media/platform/soc_camera/mx2_camera.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
drivers/media/platform/soc_camera/mx2_camera.c +3 -1
@@ -1800,12 +1800,14 @@ static int __devinit mx2_camera_probe(struct platform_device *pdev)if (!res_emma || !irq_emma) {dev_err (&pdev->dev,"no EMMA resources\n" ); + err = -ENODEV ; goto exit_free_irq; } pcdev->res_emma = res_emma; pcdev->irq_emma = irq_emma; -if (mx27_camera_emma_init (pcdev)) + err =mx27_camera_emma_init (pcdev); +if (err) goto exit_free_irq; }
Signature · 1 line
1.7.11.4