* [patch] sound/usb/format: silence uninitialized variable warnings
@ 2010-08-14 8:58 Dan Carpenter
2010-08-14 14:24 ` Takashi Iwai
0 siblings, 1 reply; 5+ messages in thread
From: Dan Carpenter @ 2010-08-14 8:58 UTC (permalink / raw)
To: Jaroslav Kysela
Cc: Stephen Rothwell, alsa-devel, Takashi Iwai, Clemens Ladisch,
kernel-janitors
Gcc complains that ret might be used uninitialized:
sound/usb/format.c: In function ‘snd_usb_parse_audio_format’:
sound/usb/format.c:354: warning: ‘ret’ may be used uninitialized in this function
sound/usb/format.c:354: note: ‘ret’ was declared here
sound/usb/format.c:414: warning: ‘ret’ may be used uninitialized in this function
sound/usb/format.c:414: note: ‘ret’ was declared here
I suppose it could be if there is ever a UAC_VERSION_3 released. Anyway
this patch is worthwhile if only to silence the gcc warning.
Signed-off-by: Dan Carpenter <error27@gmail.com>
diff --git a/sound/usb/format.c b/sound/usb/format.c
index 4387f54..1400174 100644
--- a/sound/usb/format.c
+++ b/sound/usb/format.c
@@ -351,7 +351,8 @@ static int parse_audio_format_i(struct snd_usb_audio *chip,
{
struct usb_interface_descriptor *altsd = get_iface_desc(iface);
int protocol = altsd->bInterfaceProtocol;
- int pcm_format, ret;
+ int pcm_format;
+ int ret = -EINVAL;
if (fmt->bFormatType = UAC_FORMAT_TYPE_III) {
/* FIXME: the format type is really IECxxx
@@ -411,9 +412,10 @@ static int parse_audio_format_ii(struct snd_usb_audio *chip,
int format, void *_fmt,
struct usb_host_interface *iface)
{
- int brate, framesize, ret;
+ int brate, framesize;
struct usb_interface_descriptor *altsd = get_iface_desc(iface);
int protocol = altsd->bInterfaceProtocol;
+ int ret = -EINVAL;
switch (format) {
case UAC_FORMAT_TYPE_II_AC3:
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [patch] sound/usb/format: silence uninitialized variable warnings
2010-08-14 8:58 [patch] sound/usb/format: silence uninitialized variable warnings Dan Carpenter
@ 2010-08-14 14:24 ` Takashi Iwai
2010-08-14 17:29 ` [patch v2] sound/usb/format: silence uninitialized variable Dan Carpenter
0 siblings, 1 reply; 5+ messages in thread
From: Takashi Iwai @ 2010-08-14 14:24 UTC (permalink / raw)
To: Dan Carpenter
Cc: Stephen Rothwell, alsa-devel, Clemens Ladisch, kernel-janitors
At Sat, 14 Aug 2010 10:58:47 +0200,
Dan Carpenter wrote:
>
> Gcc complains that ret might be used uninitialized:
>
> sound/usb/format.c: In function ‘snd_usb_parse_audio_format’:
> sound/usb/format.c:354: warning: ‘ret’ may be used uninitialized in this function
> sound/usb/format.c:354: note: ‘ret’ was declared here
> sound/usb/format.c:414: warning: ‘ret’ may be used uninitialized in this function
> sound/usb/format.c:414: note: ‘ret’ was declared here
>
> I suppose it could be if there is ever a UAC_VERSION_3 released. Anyway
> this patch is worthwhile if only to silence the gcc warning.
It's nice to catch such possible bugs.
But, it'd be even nicer if kernel gives messages what's wrong instead
of silent break-up.
Could you add error messages and repost the revised patch?
thanks,
Takashi
>
> Signed-off-by: Dan Carpenter <error27@gmail.com>
>
> diff --git a/sound/usb/format.c b/sound/usb/format.c
> index 4387f54..1400174 100644
> --- a/sound/usb/format.c
> +++ b/sound/usb/format.c
> @@ -351,7 +351,8 @@ static int parse_audio_format_i(struct snd_usb_audio *chip,
> {
> struct usb_interface_descriptor *altsd = get_iface_desc(iface);
> int protocol = altsd->bInterfaceProtocol;
> - int pcm_format, ret;
> + int pcm_format;
> + int ret = -EINVAL;
>
> if (fmt->bFormatType = UAC_FORMAT_TYPE_III) {
> /* FIXME: the format type is really IECxxx
> @@ -411,9 +412,10 @@ static int parse_audio_format_ii(struct snd_usb_audio *chip,
> int format, void *_fmt,
> struct usb_host_interface *iface)
> {
> - int brate, framesize, ret;
> + int brate, framesize;
> struct usb_interface_descriptor *altsd = get_iface_desc(iface);
> int protocol = altsd->bInterfaceProtocol;
> + int ret = -EINVAL;
>
> switch (format) {
> case UAC_FORMAT_TYPE_II_AC3:
>
^ permalink raw reply [flat|nested] 5+ messages in thread* [patch v2] sound/usb/format: silence uninitialized variable
2010-08-14 14:24 ` Takashi Iwai
@ 2010-08-14 17:29 ` Dan Carpenter
2010-08-14 17:38 ` Daniel Mack
2010-08-15 12:38 ` [patch v2] sound/usb/format: silence uninitialized variable warnings Takashi Iwai
0 siblings, 2 replies; 5+ messages in thread
From: Dan Carpenter @ 2010-08-14 17:29 UTC (permalink / raw)
To: Takashi Iwai
Cc: Stephen Rothwell, alsa-devel, Clemens Ladisch, kernel-janitors
Gcc complains that ret might be used uninitialized:
sound/usb/format.c: In function ‘snd_usb_parse_audio_format’:
sound/usb/format.c:354: warning: ‘ret’ may be used uninitialized in this function
sound/usb/format.c:354: note: ‘ret’ was declared here
sound/usb/format.c:414: warning: ‘ret’ may be used uninitialized in this function
sound/usb/format.c:414: note: ‘ret’ was declared here
I suppose it could be uninitialized if there is ever a UAC_VERSION_3
released. Anyway this patch is worthwhile if only to silence the gcc
warning.
Signed-off-by: Dan Carpenter <error27@gmail.com>
---
V2: Totally different. Added printk()s
diff --git a/sound/usb/format.c b/sound/usb/format.c
index 4387f54..3a13754 100644
--- a/sound/usb/format.c
+++ b/sound/usb/format.c
@@ -392,6 +392,10 @@ static int parse_audio_format_i(struct snd_usb_audio *chip,
/* fp->channels is already set in this case */
ret = parse_audio_format_rates_v2(chip, fp);
break;
+ default:
+ snd_printk(KERN_ERR "%d:%u:%d : invalid protocol version %d\n",
+ chip->dev->devnum, fp->iface, fp->altsetting, protocol);
+ return -EINVAL;
}
if (fp->channels < 1) {
@@ -452,6 +456,10 @@ static int parse_audio_format_ii(struct snd_usb_audio *chip,
ret = parse_audio_format_rates_v2(chip, fp);
break;
}
+ default:
+ snd_printk(KERN_ERR "%d:%u:%d : invalid protocol version %d\n",
+ chip->dev->devnum, fp->iface, fp->altsetting, protocol);
+ return -EINVAL;
}
return ret;
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [patch v2] sound/usb/format: silence uninitialized variable
2010-08-14 17:29 ` [patch v2] sound/usb/format: silence uninitialized variable Dan Carpenter
@ 2010-08-14 17:38 ` Daniel Mack
2010-08-15 12:38 ` [patch v2] sound/usb/format: silence uninitialized variable warnings Takashi Iwai
1 sibling, 0 replies; 5+ messages in thread
From: Daniel Mack @ 2010-08-14 17:38 UTC (permalink / raw)
To: Dan Carpenter
Cc: Stephen Rothwell, alsa-devel, Takashi Iwai, Clemens Ladisch,
kernel-janitors
On Sat, Aug 14, 2010 at 07:29:53PM +0200, Dan Carpenter wrote:
> Gcc complains that ret might be used uninitialized:
>
> sound/usb/format.c: In function ‘snd_usb_parse_audio_format’:
> sound/usb/format.c:354: warning: ‘ret’ may be used uninitialized in this function
> sound/usb/format.c:354: note: ‘ret’ was declared here
> sound/usb/format.c:414: warning: ‘ret’ may be used uninitialized in this function
> sound/usb/format.c:414: note: ‘ret’ was declared here
>
> I suppose it could be uninitialized if there is ever a UAC_VERSION_3
> released. Anyway this patch is worthwhile if only to silence the gcc
> warning.
>
> Signed-off-by: Dan Carpenter <error27@gmail.com>
Yes, such a check can't harm. You can have my
Acked-by: Daniel Mack <daniel@caiaq.de>
if you want :)
Thanks,
Daniel
> ---
> V2: Totally different. Added printk()s
>
> diff --git a/sound/usb/format.c b/sound/usb/format.c
> index 4387f54..3a13754 100644
> --- a/sound/usb/format.c
> +++ b/sound/usb/format.c
> @@ -392,6 +392,10 @@ static int parse_audio_format_i(struct snd_usb_audio *chip,
> /* fp->channels is already set in this case */
> ret = parse_audio_format_rates_v2(chip, fp);
> break;
> + default:
> + snd_printk(KERN_ERR "%d:%u:%d : invalid protocol version %d\n",
> + chip->dev->devnum, fp->iface, fp->altsetting, protocol);
> + return -EINVAL;
> }
>
> if (fp->channels < 1) {
> @@ -452,6 +456,10 @@ static int parse_audio_format_ii(struct snd_usb_audio *chip,
> ret = parse_audio_format_rates_v2(chip, fp);
> break;
> }
> + default:
> + snd_printk(KERN_ERR "%d:%u:%d : invalid protocol version %d\n",
> + chip->dev->devnum, fp->iface, fp->altsetting, protocol);
> + return -EINVAL;
> }
>
> return ret;
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [patch v2] sound/usb/format: silence uninitialized variable warnings
2010-08-14 17:29 ` [patch v2] sound/usb/format: silence uninitialized variable Dan Carpenter
2010-08-14 17:38 ` Daniel Mack
@ 2010-08-15 12:38 ` Takashi Iwai
1 sibling, 0 replies; 5+ messages in thread
From: Takashi Iwai @ 2010-08-15 12:38 UTC (permalink / raw)
To: Dan Carpenter
Cc: Stephen Rothwell, alsa-devel, Clemens Ladisch, kernel-janitors
At Sat, 14 Aug 2010 19:29:53 +0200,
Dan Carpenter wrote:
>
> Gcc complains that ret might be used uninitialized:
>
> sound/usb/format.c: In function ‘snd_usb_parse_audio_format’:
> sound/usb/format.c:354: warning: ‘ret’ may be used uninitialized in this function
> sound/usb/format.c:354: note: ‘ret’ was declared here
> sound/usb/format.c:414: warning: ‘ret’ may be used uninitialized in this function
> sound/usb/format.c:414: note: ‘ret’ was declared here
>
> I suppose it could be uninitialized if there is ever a UAC_VERSION_3
> released. Anyway this patch is worthwhile if only to silence the gcc
> warning.
>
> Signed-off-by: Dan Carpenter <error27@gmail.com>
> ---
> V2: Totally different. Added printk()s
Thanks, applied now.
Takashi
>
> diff --git a/sound/usb/format.c b/sound/usb/format.c
> index 4387f54..3a13754 100644
> --- a/sound/usb/format.c
> +++ b/sound/usb/format.c
> @@ -392,6 +392,10 @@ static int parse_audio_format_i(struct snd_usb_audio *chip,
> /* fp->channels is already set in this case */
> ret = parse_audio_format_rates_v2(chip, fp);
> break;
> + default:
> + snd_printk(KERN_ERR "%d:%u:%d : invalid protocol version %d\n",
> + chip->dev->devnum, fp->iface, fp->altsetting, protocol);
> + return -EINVAL;
> }
>
> if (fp->channels < 1) {
> @@ -452,6 +456,10 @@ static int parse_audio_format_ii(struct snd_usb_audio *chip,
> ret = parse_audio_format_rates_v2(chip, fp);
> break;
> }
> + default:
> + snd_printk(KERN_ERR "%d:%u:%d : invalid protocol version %d\n",
> + chip->dev->devnum, fp->iface, fp->altsetting, protocol);
> + return -EINVAL;
> }
>
> return ret;
>
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2010-08-15 12:38 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-08-14 8:58 [patch] sound/usb/format: silence uninitialized variable warnings Dan Carpenter
2010-08-14 14:24 ` Takashi Iwai
2010-08-14 17:29 ` [patch v2] sound/usb/format: silence uninitialized variable Dan Carpenter
2010-08-14 17:38 ` Daniel Mack
2010-08-15 12:38 ` [patch v2] sound/usb/format: silence uninitialized variable warnings Takashi Iwai
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox