Commit 362e4e49 authored by Thomas Pfaff's avatar Thomas Pfaff Committed by Takashi Iwai

ALSA: usb-audio - clear chip->probing on error exit

The Terratec Aureon 5.1 USB sound card support is broken since kernel
2.6.39.
2.6.39 introduced power management support for USB sound cards that added
a probing flag in struct snd_usb_audio.

During the probe of the card it gives following error message :

usb 7-2: new full speed USB device number 2 using uhci_hcd
cannot find UAC_HEADER
snd-usb-audio: probe of 7-2:1.3 failed with error -5
input: USB Audio as
/devices/pci0000:00/0000:00:1d.1/usb7/7-2/7-2:1.3/input/input6
generic-usb 0003:0CCD:0028.0001: input: USB HID v1.00 Device [USB Audio]
on usb-0000:00:1d.1-2/input3

I can not comment about that "cannot find UAC_HEADER" error, but until
2.6.38 the card worked anyway.
With 2.6.39 chip->probing remains 1 on error exit, and any later ioctl
stops in snd_usb_autoresume with -ENODEV.
Signed-off-by: default avatarThomas Pfaff <tpfaff@gmx.net>
Cc: <stable@kernel.org> [2.6.39+]
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent c37279b9
...@@ -532,6 +532,7 @@ snd_usb_audio_probe(struct usb_device *dev, ...@@ -532,6 +532,7 @@ snd_usb_audio_probe(struct usb_device *dev,
__error: __error:
if (chip && !chip->num_interfaces) if (chip && !chip->num_interfaces)
snd_card_free(chip->card); snd_card_free(chip->card);
chip->probing = 0;
mutex_unlock(&register_mutex); mutex_unlock(&register_mutex);
__err_val: __err_val:
return NULL; return NULL;
......
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