--- orig/alsa-kernel/usb/usbaudio.c 2007-07-10 21:16:07.000000000 +0200 +++ alsa-kernel/usb/usbaudio.c 2007-07-10 21:32:16.000000000 +0200 @@ -2350,7 +2350,9 @@ return 1; break; case USB_ID(0x0763, 0x2003): /* M-Audio Audiophile USB */ - return 1; + if (fp->altsetting==1 || fp->altsetting==2 || + fp->altsetting==3) + return 1; } return 0; } @@ -3251,6 +3253,10 @@ static int audiophile_skip_setting_quirk(struct snd_usb_audio *chip, int iface, int altno) { + /* Reset ALL ifaces to 0 altsetting. + Call it for every possible altsetting of every interface. */ + usb_set_interface(chip->dev, iface, 0); + if (device_setup[chip->index] & AUDIOPHILE_SET) { if ((device_setup[chip->index] & AUDIOPHILE_SET_DTS) && altno != 6)