Skip to content

Commit

Permalink
ALSA: usb-audio - clear chip->probing on error exit
Browse files Browse the repository at this point in the history
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: Thomas Pfaff <tpfaff@gmx.net>
Cc: <stable@kernel.org> [2.6.39+]
Signed-off-by: Takashi Iwai <tiwai@suse.de>
  • Loading branch information
Thomas Pfaff authored and Takashi Iwai committed Sep 23, 2011
1 parent c37279b commit 362e4e4
Showing 1 changed file with 1 addition and 0 deletions.
1 change: 1 addition & 0 deletions sound/usb/card.c
Original file line number Diff line number Diff line change
@@ -532,6 +532,7 @@ snd_usb_audio_probe(struct usb_device *dev,
__error:
if (chip && !chip->num_interfaces)
snd_card_free(chip->card);
chip->probing = 0;
mutex_unlock(&register_mutex);
__err_val:
return NULL;

0 comments on commit 362e4e4

Please sign in to comment.