[review] uvc_driver: fix compile warning

Message ID 1240171389.12537.3.camel@tux.localhost (mailing list archive)
State Superseded, archived
Headers

Commit Message

Alexey Klimov April 19, 2009, 8:03 p.m. UTC
  Hello, all
I saw warnings in v4l-dvb daily build.
May this patch be helpful?

Signed-off-by: Alexey Klimov <klimov.linux@gmail.com>

--
  

Comments

Laurent Pinchart April 20, 2009, 5:25 p.m. UTC | #1
Hi Alexey,

On Sunday 19 April 2009 22:03:09 Alexey Klimov wrote:
> Hello, all
> I saw warnings in v4l-dvb daily build.
> May this patch be helpful?

I can't reproduce the problem with gcc 4.3.2.

Hans, what's the policy for fixing gcc-related issues ? Should the code use 
uninitialized_var() to make every gcc version happy, or can ignore the 
warnings when a newer gcc version fixes the problem 

> Signed-off-by: Alexey Klimov <klimov.linux@gmail.com>
>
> --
> diff -r cda79523a93c linux/drivers/media/video/uvc/uvc_driver.c
> --- a/linux/drivers/media/video/uvc/uvc_driver.c	Thu Apr 16 18:30:38 2009
> +0200 +++ b/linux/drivers/media/video/uvc/uvc_driver.c	Sun Apr 19 23:58:02
> 2009 +0400 @@ -1726,7 +1726,7 @@
>  static int __uvc_resume(struct usb_interface *intf, int reset)
>  {
>  	struct uvc_device *dev = usb_get_intfdata(intf);
> -	int ret;
> +	int ret = 0;
>
>  	uvc_trace(UVC_TRACE_SUSPEND, "Resuming interface %u\n",
>  		intf->cur_altsetting->desc.bInterfaceNumber);

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Mauro Carvalho Chehab April 20, 2009, 5:50 p.m. UTC | #2
On Mon, 20 Apr 2009 19:25:00 +0200
Laurent Pinchart <laurent.pinchart@skynet.be> wrote:

> Hi Alexey,
> 
> On Sunday 19 April 2009 22:03:09 Alexey Klimov wrote:
> > Hello, all
> > I saw warnings in v4l-dvb daily build.
> > May this patch be helpful?
> 
> I can't reproduce the problem with gcc 4.3.2.
> 
> Hans, what's the policy for fixing gcc-related issues ? Should the code use 
> uninitialized_var() to make every gcc version happy, or can ignore the 
> warnings when a newer gcc version fixes the problem 

Laurent,

The kernel way is to use unitialized_var() on such cases.

Personally, I don't like very much this approach, since it will get rid forever
of such error for that var. However, a future patch could make that var truly
uninitialized. So, an extra care should be taken on every patch touching a var
that uses uninitialized_var() macro.

From my side, I accept patches with both ways to fix it.

Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Laurent Pinchart April 20, 2009, 8:12 p.m. UTC | #3
Hi Mauro,

On Monday 20 April 2009 19:50:31 Mauro Carvalho Chehab wrote:
> On Mon, 20 Apr 2009 19:25:00 +0200
>
> Laurent Pinchart <laurent.pinchart@skynet.be> wrote:
> > Hi Alexey,
> >
> > On Sunday 19 April 2009 22:03:09 Alexey Klimov wrote:
> > > Hello, all
> > > I saw warnings in v4l-dvb daily build.
> > > May this patch be helpful?
> >
> > I can't reproduce the problem with gcc 4.3.2.
> >
> > Hans, what's the policy for fixing gcc-related issues ? Should the code
> > use uninitialized_var() to make every gcc version happy, or can ignore
> > the warnings when a newer gcc version fixes the problem
>
> Laurent,
>
> The kernel way is to use unitialized_var() on such cases.
>
> Personally, I don't like very much this approach, since it will get rid
> forever of such error for that var. However, a future patch could make that
> var truly uninitialized. So, an extra care should be taken on every patch
> touching a var that uses uninitialized_var() macro.
>
> From my side, I accept patches with both ways to fix it.

I wasn't talking about ' = 0' vs. 'uninitialized_var()', but rather about 
submitting a patch vs. considering the problem fixed because gcc 4.3.2 doesn't 
spit a warning while gcc 4.3.1 does.

Cheers,

Laurent Pinchart

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Mauro Carvalho Chehab April 20, 2009, 8:47 p.m. UTC | #4
On Mon, 20 Apr 2009 22:12:47 +0200
Laurent Pinchart <laurent.pinchart@skynet.be> wrote:

> Hi Mauro,
> 
> On Monday 20 April 2009 19:50:31 Mauro Carvalho Chehab wrote:
> > On Mon, 20 Apr 2009 19:25:00 +0200
> >
> > Laurent Pinchart <laurent.pinchart@skynet.be> wrote:
> > > Hi Alexey,
> > >
> > > On Sunday 19 April 2009 22:03:09 Alexey Klimov wrote:
> > > > Hello, all
> > > > I saw warnings in v4l-dvb daily build.
> > > > May this patch be helpful?
> > >
> > > I can't reproduce the problem with gcc 4.3.2.
> > >
> > > Hans, what's the policy for fixing gcc-related issues ? Should the code
> > > use uninitialized_var() to make every gcc version happy, or can ignore
> > > the warnings when a newer gcc version fixes the problem
> >
> > Laurent,
> >
> > The kernel way is to use unitialized_var() on such cases.
> >
> > Personally, I don't like very much this approach, since it will get rid
> > forever of such error for that var. However, a future patch could make that
> > var truly uninitialized. So, an extra care should be taken on every patch
> > touching a var that uses uninitialized_var() macro.
> >
> > From my side, I accept patches with both ways to fix it.
> 
> I wasn't talking about ' = 0' vs. 'uninitialized_var()', but rather about 
> submitting a patch vs. considering the problem fixed because gcc 4.3.2 doesn't 
> spit a warning while gcc 4.3.1 does.

Since 4.3.1 is a supported gcc version, it is better to fix the warning for it.

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

Patch

diff -r cda79523a93c linux/drivers/media/video/uvc/uvc_driver.c
--- a/linux/drivers/media/video/uvc/uvc_driver.c	Thu Apr 16 18:30:38 2009 +0200
+++ b/linux/drivers/media/video/uvc/uvc_driver.c	Sun Apr 19 23:58:02 2009 +0400
@@ -1726,7 +1726,7 @@ 
 static int __uvc_resume(struct usb_interface *intf, int reset)
 {
 	struct uvc_device *dev = usb_get_intfdata(intf);
-	int ret;
+	int ret = 0;
 
 	uvc_trace(UVC_TRACE_SUSPEND, "Resuming interface %u\n",
 		intf->cur_altsetting->desc.bInterfaceNumber);