[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <s5hbq4chh3k.wl%tiwai@suse.de>
Date: Mon, 14 Apr 2008 12:21:35 +0200
From: Takashi Iwai <tiwai@...e.de>
To: Pavel Machek <pavel@...e.cz>
Cc: perex@...ex.cz, kernel list <linux-kernel@...r.kernel.org>
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@...e.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
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists