Messages in this thread | | | Date | Mon, 14 Apr 2008 12:21:35 +0200 | From | Takashi Iwai <> | Subject | Re: usb audio: Fix another Dallas quirk |
| |
At Sat, 29 Mar 2008 23:32:41 +0100, Pavel Machek wrote: > > > Dallas USB speakers are buggy in more than one way. One of configs > they offer does not work at all. > > Signed-off-by: Pavel Machek <pavel@suse.cz>
Applied this to ALSA tree, too. Thanks.
Takashi
> > diff --git a/sound/usb/usbaudio.c b/sound/usb/usbaudio.c > index 257a4e1..b6b2490 100644 > --- a/sound/usb/usbaudio.c > +++ b/sound/usb/usbaudio.c > int format; > struct audioformat *fp; > unsigned char *fmt, *csep; > + int num; > > dev = chip->dev; > > /* parse the interface's altsettings */ > iface = usb_ifnum_to_if(dev, iface_no); > - for (i = 0; i < iface->num_altsetting; i++) { > + num = iface->num_altsetting; > + > + /* Dallas DS4201 workaround: It presents 5 altsettings, but the last > + one misses syncpipe, and does not produce any sound. */ > + if (chip->usb_id == USB_ID(0x04fa, 0x4201)) > + num = 4; > + > + for (i = 0; i < num; i++) { > alts = &iface->altsetting[i]; > altsd = get_iface_desc(alts); > /* skip invalid one */ > > -- > (english) http://www.livejournal.com/~pavelmachek > (cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html >
| |