Skip to contentSkip to conversation

drivers/media/platform/soc_camera/soc_camera.c: fix error return code

PATCH Applied Peter Senna Tschudin 3 participants 3 messages Sep 6, 2012 – Sep 23, 2012

Subsystems (2)

v1 of 2 Applied Latest is v2 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/14 drivers/media/platform/soc_camera/soc_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/soc_camera.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/media/platform/soc_camera/soc_camera.c +2 -1
index 10b57f8..a4beb6c 100644
@@ -1184,7 +1184,8 @@ static int soc_camera_probe(struct soc_camera_device *icd)
 	sd->grp_id = soc_camera_grp_id(icd);
 	v4l2_set_subdev_hostdata(sd, icd);
 
-	if (v4l2_ctrl_add_handler(&icd->ctrl_handler, sd->ctrl_handler))
+	ret = v4l2_ctrl_add_handler(&icd->ctrl_handler, sd->ctrl_handler);
+	if (ret)
 		goto ectrl;
 
 	/* At this point client .probe() should have run already */
#1 lore raw

PATCH 1/14 drivers/media/platform/soc_camera/soc_camera.c: fix error return code

Please review.
Please review.

Regards,
Mauro.

-------- Mensagem original --------
Assunto: [PATCH 1/14] drivers/media/platform/soc_camera/soc_camera.c: fix error return code
Data: Thu, 6 Sep 2012 17:24:00 +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/soc_camera.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/media/platform/soc_camera/soc_camera.c +2 -1
index 10b57f8..a4beb6c 100644
@@ -1184,7 +1184,8 @@ static int soc_camera_probe(struct soc_camera_device *icd)
 	sd->grp_id = soc_camera_grp_id(icd);
 	v4l2_set_subdev_hostdata(sd, icd);
 
-	if (v4l2_ctrl_add_handler(&icd->ctrl_handler, sd->ctrl_handler))
+	ret = v4l2_ctrl_add_handler(&icd->ctrl_handler, sd->ctrl_handler);
+	if (ret)
 		goto ectrl;
 
 	/* At this point client .probe() should have run already */

--
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

#2 lore raw

Hi Mauro, Peter

Quoted 50 lines · Mauro Carvalho Chehab

Please review.
Please review.

Regards,
Mauro.

-------- Mensagem original --------
Assunto: [PATCH 1/14] drivers/media/platform/soc_camera/soc_camera.c: fix error return code
Data: Thu, 6 Sep 2012 17:24:00 +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/soc_camera.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
drivers/media/platform/soc_camera/soc_camera.c +0 -0
index 10b57f8..a4beb6c 100644

drivers/media/platform/soc_camera/soc_camera.c static int soc_camera_probe(struct soc_camera_device *icd) · line 1189

Quoted 7 lines
drivers/media/platform/soc_camera/soc_camera.c +2 -1
@@ -1184,7 +1184,8 @@ static int soc_camera_probe(struct soc_camera_device *icd)
 	sd->grp_id = soc_camera_grp_id(icd);
 	v4l2_set_subdev_hostdata(sd, icd);
 
-	if (v4l2_ctrl_add_handler(&icd->ctrl_handler, sd->ctrl_handler))
+	ret = v4l2_ctrl_add_handler(&icd->ctrl_handler, sd->ctrl_handler);
+	if (ret)
 		goto ectrl;

Yes, this is a correct fix. I'm actually also fixing it in one of my current experimental patches, I don't think it's occurring too often in real life, so, I didn't bother sending a separate fix:-) But yes, let's fix it properly. Please, update the other patch to mx2_camera and I'll send a "fixes" pull request with these two and an ov2640 fix.

Thanks
Guennadi

drivers/media/platform/soc_camera/soc_camera.c static int soc_camera_probe(struct soc_camera_device *icd) · line 1191

Quoted 2 lines
drivers/media/platform/soc_camera/soc_camera.c +0 -0
 	/* At this point client .probe() should have run already */

---
Guennadi Liakhovetski, Ph.D.
Freelance Open-Source Software Developer
http://www.open-technology.de/