linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c: fix error return code
@ 2012-09-08 14:01 Peter Senna Tschudin
  2012-09-08 18:58 ` Ezequiel Garcia
  2012-09-09 18:52 ` walter harms
  0 siblings, 2 replies; 4+ messages in thread
From: Peter Senna Tschudin @ 2012-09-08 14:01 UTC (permalink / raw)
  To: Mauro Carvalho Chehab
  Cc: kernel-janitors, wharms, Julia.Lawall, linux-media, linux-kernel

From: Peter Senna Tschudin <peter.senna@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.senna@gmail.com>

---
walter harms <wharms@bfs.de>, thanks for the tip. Please take a look carefully to check if I got your suggestion correctly. It was tested by compilation only.

 drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c |   30 ++++++-----------
 1 file changed, 12 insertions(+), 18 deletions(-)

diff --git a/drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c b/drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c
index c8c94fb..b663dac 100644
--- a/drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c
+++ b/drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c
@@ -704,11 +704,9 @@ int cx25821_vidupstream_init_ch2(struct cx25821_dev *dev, int channel_select,
 {
 	struct sram_channel *sram_ch;
 	u32 tmp;
-	int retval = 0;
 	int err = 0;
 	int data_frame_size = 0;
 	int risc_buffer_size = 0;
-	int str_length = 0;
 
 	if (dev->_is_running_ch2) {
 		pr_info("Video Channel is still running so return!\n");
@@ -744,20 +742,16 @@ int cx25821_vidupstream_init_ch2(struct cx25821_dev *dev, int channel_select,
 	risc_buffer_size = dev->_isNTSC_ch2 ?
 		NTSC_RISC_BUF_SIZE : PAL_RISC_BUF_SIZE;
 
-	if (dev->input_filename_ch2) {
-		str_length = strlen(dev->input_filename_ch2);
-		dev->_filename_ch2 = kmemdup(dev->input_filename_ch2,
-					     str_length + 1, GFP_KERNEL);
-
-		if (!dev->_filename_ch2)
-			goto error;
-	} else {
-		str_length = strlen(dev->_defaultname_ch2);
-		dev->_filename_ch2 = kmemdup(dev->_defaultname_ch2,
-					     str_length + 1, GFP_KERNEL);
+	if (dev->input_filename_ch2)
+		dev->_filename_ch2 = kstrdup(dev->input_filename_ch2,
+								GFP_KERNEL);
+	else
+		dev->_filename_ch2 = kstrdup(dev->_defaultname_ch2,
+								GFP_KERNEL);
 
-		if (!dev->_filename_ch2)
-			goto error;
+	if (!dev->_filename_ch2) {
+		err = -ENOENT;
+		goto error;
 	}
 
 	/* Default if filename is empty string */
@@ -773,7 +767,7 @@ int cx25821_vidupstream_init_ch2(struct cx25821_dev *dev, int channel_select,
 		}
 	}
 
-	retval = cx25821_sram_channel_setup_upstream(dev, sram_ch,
+	err = cx25821_sram_channel_setup_upstream(dev, sram_ch,
 						dev->_line_size_ch2, 0);
 
 	/* setup fifo + format */
@@ -783,9 +777,9 @@ int cx25821_vidupstream_init_ch2(struct cx25821_dev *dev, int channel_select,
 	dev->upstream_databuf_size_ch2 = data_frame_size * 2;
 
 	/* Allocating buffers and prepare RISC program */
-	retval = cx25821_upstream_buffer_prepare_ch2(dev, sram_ch,
+	err = cx25821_upstream_buffer_prepare_ch2(dev, sram_ch,
 						dev->_line_size_ch2);
-	if (retval < 0) {
+	if (err < 0) {
 		pr_err("%s: Failed to set up Video upstream buffers!\n",
 		       dev->name);
 		goto error;


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c: fix error return code
  2012-09-08 14:01 [PATCH v2] drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c: fix error return code Peter Senna Tschudin
@ 2012-09-08 18:58 ` Ezequiel Garcia
  2012-09-10 12:45   ` Peter Senna Tschudin
  2012-09-09 18:52 ` walter harms
  1 sibling, 1 reply; 4+ messages in thread
From: Ezequiel Garcia @ 2012-09-08 18:58 UTC (permalink / raw)
  To: Peter Senna Tschudin
  Cc: Mauro Carvalho Chehab, kernel-janitors, wharms, Julia.Lawall,
	linux-media, linux-kernel

Peter,

On Sat, Sep 8, 2012 at 11:01 AM, Peter Senna Tschudin
<peter.senna@gmail.com> wrote:
> From: Peter Senna Tschudin <peter.senna@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.senna@gmail.com>
>
> ---
> walter harms <wharms@bfs.de>, thanks for the tip. Please take a look carefully to check if I got your suggestion correctly. It was tested by compilation only.
>
>  drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c |   30 ++++++-----------
>  1 file changed, 12 insertions(+), 18 deletions(-)
>
> diff --git a/drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c b/drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c
> index c8c94fb..b663dac 100644
> --- a/drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c
> +++ b/drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c
> @@ -704,11 +704,9 @@ int cx25821_vidupstream_init_ch2(struct cx25821_dev *dev, int channel_select,
>  {
>         struct sram_channel *sram_ch;
>         u32 tmp;
> -       int retval = 0;
>         int err = 0;
>         int data_frame_size = 0;
>         int risc_buffer_size = 0;
> -       int str_length = 0;
>
>         if (dev->_is_running_ch2) {
>                 pr_info("Video Channel is still running so return!\n");
> @@ -744,20 +742,16 @@ int cx25821_vidupstream_init_ch2(struct cx25821_dev *dev, int channel_select,
>         risc_buffer_size = dev->_isNTSC_ch2 ?
>                 NTSC_RISC_BUF_SIZE : PAL_RISC_BUF_SIZE;
>
> -       if (dev->input_filename_ch2) {
> -               str_length = strlen(dev->input_filename_ch2);
> -               dev->_filename_ch2 = kmemdup(dev->input_filename_ch2,
> -                                            str_length + 1, GFP_KERNEL);
> -
> -               if (!dev->_filename_ch2)
> -                       goto error;
> -       } else {
> -               str_length = strlen(dev->_defaultname_ch2);
> -               dev->_filename_ch2 = kmemdup(dev->_defaultname_ch2,
> -                                            str_length + 1, GFP_KERNEL);
> +       if (dev->input_filename_ch2)
> +               dev->_filename_ch2 = kstrdup(dev->input_filename_ch2,
> +                                                               GFP_KERNEL);
> +       else
> +               dev->_filename_ch2 = kstrdup(dev->_defaultname_ch2,
> +                                                               GFP_KERNEL);
>

You're replacing kmemdup for kstrdup, which is great,
but that's not anywhere in the commit message.

I'm not sure if you should re-send, but you should definitely
try to have better commit messages in the future!

Not to mention you're doing two things in one patch, and that makes
very difficult to bisect.

Thanks (and sorry for the nitpick)...
Ezequiel.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c: fix error return code
  2012-09-08 14:01 [PATCH v2] drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c: fix error return code Peter Senna Tschudin
  2012-09-08 18:58 ` Ezequiel Garcia
@ 2012-09-09 18:52 ` walter harms
  1 sibling, 0 replies; 4+ messages in thread
From: walter harms @ 2012-09-09 18:52 UTC (permalink / raw)
  To: Peter Senna Tschudin
  Cc: Mauro Carvalho Chehab, kernel-janitors, Julia.Lawall,
	linux-media, linux-kernel


looks ok to me,
note: i do not have the hardware
Reviewed-by: walter harms <wharms@bfs.de>

Am 08.09.2012 16:01, schrieb Peter Senna Tschudin:
> From: Peter Senna Tschudin <peter.senna@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.senna@gmail.com>
> 
> ---
> walter harms <wharms@bfs.de>, thanks for the tip. Please take a look carefully to check if I got your suggestion correctly. It was tested by compilation only.
> 
>  drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c |   30 ++++++-----------
>  1 file changed, 12 insertions(+), 18 deletions(-)
> 
> diff --git a/drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c b/drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c
> index c8c94fb..b663dac 100644
> --- a/drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c
> +++ b/drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c
> @@ -704,11 +704,9 @@ int cx25821_vidupstream_init_ch2(struct cx25821_dev *dev, int channel_select,
>  {
>  	struct sram_channel *sram_ch;
>  	u32 tmp;
> -	int retval = 0;
>  	int err = 0;
>  	int data_frame_size = 0;
>  	int risc_buffer_size = 0;
> -	int str_length = 0;
>  
>  	if (dev->_is_running_ch2) {
>  		pr_info("Video Channel is still running so return!\n");
> @@ -744,20 +742,16 @@ int cx25821_vidupstream_init_ch2(struct cx25821_dev *dev, int channel_select,
>  	risc_buffer_size = dev->_isNTSC_ch2 ?
>  		NTSC_RISC_BUF_SIZE : PAL_RISC_BUF_SIZE;
>  
> -	if (dev->input_filename_ch2) {
> -		str_length = strlen(dev->input_filename_ch2);
> -		dev->_filename_ch2 = kmemdup(dev->input_filename_ch2,
> -					     str_length + 1, GFP_KERNEL);
> -
> -		if (!dev->_filename_ch2)
> -			goto error;
> -	} else {
> -		str_length = strlen(dev->_defaultname_ch2);
> -		dev->_filename_ch2 = kmemdup(dev->_defaultname_ch2,
> -					     str_length + 1, GFP_KERNEL);
> +	if (dev->input_filename_ch2)
> +		dev->_filename_ch2 = kstrdup(dev->input_filename_ch2,
> +								GFP_KERNEL);
> +	else
> +		dev->_filename_ch2 = kstrdup(dev->_defaultname_ch2,
> +								GFP_KERNEL);
>  
> -		if (!dev->_filename_ch2)
> -			goto error;
> +	if (!dev->_filename_ch2) {
> +		err = -ENOENT;
> +		goto error;
>  	}
>  
>  	/* Default if filename is empty string */
> @@ -773,7 +767,7 @@ int cx25821_vidupstream_init_ch2(struct cx25821_dev *dev, int channel_select,
>  		}
>  	}
>  
> -	retval = cx25821_sram_channel_setup_upstream(dev, sram_ch,
> +	err = cx25821_sram_channel_setup_upstream(dev, sram_ch,
>  						dev->_line_size_ch2, 0);
>  
>  	/* setup fifo + format */
> @@ -783,9 +777,9 @@ int cx25821_vidupstream_init_ch2(struct cx25821_dev *dev, int channel_select,
>  	dev->upstream_databuf_size_ch2 = data_frame_size * 2;
>  
>  	/* Allocating buffers and prepare RISC program */
> -	retval = cx25821_upstream_buffer_prepare_ch2(dev, sram_ch,
> +	err = cx25821_upstream_buffer_prepare_ch2(dev, sram_ch,
>  						dev->_line_size_ch2);
> -	if (retval < 0) {
> +	if (err < 0) {
>  		pr_err("%s: Failed to set up Video upstream buffers!\n",
>  		       dev->name);
>  		goto error;
> 
> 
> 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v2] drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c: fix error return code
  2012-09-08 18:58 ` Ezequiel Garcia
@ 2012-09-10 12:45   ` Peter Senna Tschudin
  0 siblings, 0 replies; 4+ messages in thread
From: Peter Senna Tschudin @ 2012-09-10 12:45 UTC (permalink / raw)
  To: Ezequiel Garcia
  Cc: Mauro Carvalho Chehab, kernel-janitors, wharms, Julia.Lawall,
	linux-media, linux-kernel

>
> You're replacing kmemdup for kstrdup, which is great,
> but that's not anywhere in the commit message.
Sorry for that.

>
> I'm not sure if you should re-send, but you should definitely
> try to have better commit messages in the future!
I'll kindly ask to ignore the V2 of this patch. I'll send other patch
to be applied after the V1. The second patch will replace kmemdup for
kstrdup. Please ignore the patch:
http://patchwork.linuxtv.org/patch/14237/

>
> Not to mention you're doing two things in one patch, and that makes
> very difficult to bisect.
This is really bad thing to do in a single patch. Sorry for that too.

>
> Thanks (and sorry for the nitpick)...

Thanks!

> Ezequiel.



-- 
Peter

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-09-10 12:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-08 14:01 [PATCH v2] drivers/media/pci/cx25821/cx25821-video-upstream-ch2.c: fix error return code Peter Senna Tschudin
2012-09-08 18:58 ` Ezequiel Garcia
2012-09-10 12:45   ` Peter Senna Tschudin
2012-09-09 18:52 ` walter harms

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).