Commit 85a81813 authored by Takashi Iwai's avatar Takashi Iwai

ALSA: usb-audio: Fix Oops by composite quirk enhancement

The quirk argument itself was used as iterator, so it cannot be taken
back to the original value, obviously.

Fixes: d4b8fc66 ('ALSA: usb-audio: Allow multiple entries for the same iface in composite quirk')
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent 48b217aa
......@@ -43,12 +43,13 @@
static int create_composite_quirk(struct snd_usb_audio *chip,
struct usb_interface *iface,
struct usb_driver *driver,
const struct snd_usb_audio_quirk *quirk)
const struct snd_usb_audio_quirk *quirk_comp)
{
int probed_ifnum = get_iface_desc(iface->altsetting)->bInterfaceNumber;
const struct snd_usb_audio_quirk *quirk;
int err;
for (quirk = quirk->data; quirk->ifnum >= 0; ++quirk) {
for (quirk = quirk_comp->data; quirk->ifnum >= 0; ++quirk) {
iface = usb_ifnum_to_if(chip->dev, quirk->ifnum);
if (!iface)
continue;
......@@ -60,7 +61,7 @@ static int create_composite_quirk(struct snd_usb_audio *chip,
return err;
}
for (quirk = quirk->data; quirk->ifnum >= 0; ++quirk) {
for (quirk = quirk_comp->data; quirk->ifnum >= 0; ++quirk) {
iface = usb_ifnum_to_if(chip->dev, quirk->ifnum);
if (!iface)
continue;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment