[alsa-devel] Regression in sound/usb/

Takashi Iwai tiwai at suse.de
Thu Jul 5 16:41:29 CEST 2012


At Tue, 03 Jul 2012 11:01:42 +0200,
Takashi Iwai wrote:
> 
> At Tue, 3 Jul 2012 10:40:51 +0200,
> Philipp Dreimann wrote:
> > 
> > On 3 July 2012 10:27, Takashi Iwai <tiwai at suse.de> wrote:
> > > At Tue, 3 Jul 2012 10:20:13 +0200,
> > > Philipp Dreimann wrote:
> > >>
> > >> On 3 July 2012 10:00, Takashi Iwai <tiwai at suse.de> wrote:
> > >> > At Tue, 3 Jul 2012 09:41:09 +0200,
> > >> > Philipp Dreimann wrote:
> > >> >>
> > >> >> On 2 July 2012 14:10, Daniel Mack <zonque at gmail.com> wrote:
> > >> >> > On 01.07.2012 13:40, Philipp Dreimann wrote:
> > >> >> >> Hello,
> > >> >> >>
> > >> >> >> my usb webcam, which happens to have a microphone too, stopped working
> > >> >> >> using usb2 since I tried kernel 3.5-rc2. (It works using usb3.)
> > >> >> >
> > >> >> > Please try 3.5-rc5. A number of regressions were fixed just recently.
> > >> >> >
> > >> >> > Let me know if that version still causes problems.
> > >> >>
> > >> >> It still does.
> > >> >
> > >> > Try to pass ignore_ctl_error=1 to snd-usb-audio module.
> > >> > If this works and no other problem happens, we can add a similar quirk
> > >> > like some Logitech webcams.
> > >>
> > >> This does not seem to help.
> > >
> > > And webcam itself is working with our without snd-usb-audio module?
> > Yes, if I blacklist the module, the webcam works fine.
> > 
> > > Which device at all?
> > logitech c910
> > 
> > > Too little information to analyze.
> > You guys tell me what you need to know.
> 
> Try the patch below.  If it still doesn't work, give the kernel
> message again and lsusb -v output, too.

Did it make any difference?


thanks,

Takashi

> 
> 
> thanks,
> 
> Takashi
> 
> ---
> diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c
> index 54607f8..f0ede13 100644
> --- a/sound/usb/pcm.c
> +++ b/sound/usb/pcm.c
> @@ -387,7 +387,7 @@ add_sync_ep:
>  		subs->data_endpoint->sync_master = subs->sync_endpoint;
>  	}
>  
> -	if ((err = snd_usb_init_pitch(subs->stream->chip, subs->interface, alts, fmt)) < 0)
> +	if ((err = snd_usb_init_pitch(subs->stream->chip, fmt->iface, alts, fmt)) < 0)
>  		return err;
>  
>  	subs->cur_audiofmt = fmt;
> @@ -450,7 +450,7 @@ static int snd_usb_hw_params(struct snd_pcm_substream *substream,
>  		struct usb_interface *iface;
>  		iface = usb_ifnum_to_if(subs->dev, fmt->iface);
>  		alts = &iface->altsetting[fmt->altset_idx];
> -		ret = snd_usb_init_sample_rate(subs->stream->chip, subs->interface, alts, fmt, rate);
> +		ret = snd_usb_init_sample_rate(subs->stream->chip, fmt->iface, alts, fmt, rate);
>  		if (ret < 0)
>  			return ret;
>  		subs->cur_rate = rate;


More information about the Alsa-devel mailing list