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: d4b8fc66f7
('ALSA: usb-audio: Allow multiple entries for the same iface in composite quirk')
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
48b217aa43
commit
85a8181329
1 changed files with 4 additions and 3 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue