Re: [PATCH 1/5] drivers/media/platform/davinci/vpbe.c: fix error return code

2012-09-05 Thread Ezequiel Garcia
Hi Peter,

On Tue, Sep 4, 2012 at 1:14 PM, Peter Senna Tschudin
peter.se...@gmail.com wrote:
 From: Peter Senna Tschudin peter.se...@gmail.com

 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

 Signed-off-by: Peter Senna Tschudin peter.se...@gmail.com

 ---
  drivers/media/platform/davinci/vpbe.c |   13 ++---
  1 file changed, 6 insertions(+), 7 deletions(-)

 diff --git a/drivers/media/platform/davinci/vpbe.c 
 b/drivers/media/platform/davinci/vpbe.c
 index c4a82a1..2e4a0da 100644
 --- a/drivers/media/platform/davinci/vpbe.c
 +++ b/drivers/media/platform/davinci/vpbe.c
 @@ -603,7 +603,6 @@ static int vpbe_initialize(struct device *dev, struct 
 vpbe_device *vpbe_dev)
 int output_index;
 int num_encoders;
 int ret = 0;
 -   int err;
 int i;

 /*
 @@ -646,10 +645,10 @@ static int vpbe_initialize(struct device *dev, struct 
 vpbe_device *vpbe_dev)
 }
 v4l2_info(vpbe_dev-v4l2_dev, vpbe v4l2 device registered\n);

 -   err = bus_for_each_dev(platform_bus_type, NULL, vpbe_dev,
 +   ret = bus_for_each_dev(platform_bus_type, NULL, vpbe_dev,
platform_device_get);
 -   if (err  0)
 -   return err;
 +   if (ret  0)
 +   return ret;

This should be goto somewhere (probably vbpe_fail_v4l2_device),
instead of return.
There are several tasks done (like locking a mutex) that need to be undone.

Actually, this bug is not directly related to *this* patch, so you
could send another patch
fixing this.

Regards,
Ezequiel.
--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH 1/5] drivers/media/platform/davinci/vpbe.c: fix error return code

2012-09-04 Thread Peter Senna Tschudin
From: Peter Senna Tschudin peter.se...@gmail.com

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

Signed-off-by: Peter Senna Tschudin peter.se...@gmail.com

---
 drivers/media/platform/davinci/vpbe.c |   13 ++---
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/media/platform/davinci/vpbe.c 
b/drivers/media/platform/davinci/vpbe.c
index c4a82a1..2e4a0da 100644
--- a/drivers/media/platform/davinci/vpbe.c
+++ b/drivers/media/platform/davinci/vpbe.c
@@ -603,7 +603,6 @@ static int vpbe_initialize(struct device *dev, struct 
vpbe_device *vpbe_dev)
int output_index;
int num_encoders;
int ret = 0;
-   int err;
int i;
 
/*
@@ -646,10 +645,10 @@ static int vpbe_initialize(struct device *dev, struct 
vpbe_device *vpbe_dev)
}
v4l2_info(vpbe_dev-v4l2_dev, vpbe v4l2 device registered\n);
 
-   err = bus_for_each_dev(platform_bus_type, NULL, vpbe_dev,
+   ret = bus_for_each_dev(platform_bus_type, NULL, vpbe_dev,
   platform_device_get);
-   if (err  0)
-   return err;
+   if (ret  0)
+   return ret;
 
vpbe_dev-venc = venc_sub_dev_init(vpbe_dev-v4l2_dev,
   vpbe_dev-cfg-venc.module_name);
@@ -664,11 +663,11 @@ static int vpbe_initialize(struct device *dev, struct 
vpbe_device *vpbe_dev)
osd_device = vpbe_dev-osd_device;
 
if (NULL != osd_device-ops.initialize) {
-   err = osd_device-ops.initialize(osd_device);
-   if (err) {
+   ret = osd_device-ops.initialize(osd_device);
+   if (ret) {
v4l2_err(vpbe_dev-v4l2_dev,
 unable to initialize the OSD device);
-   err = -ENOMEM;
+   ret = -ENOMEM;
goto vpbe_fail_v4l2_device;
}
}

--
To unsubscribe from this list: send the line unsubscribe linux-media in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html