Re: [PATCH] sound/usb/card.c: clear chip->probing on error exit

From: Takashi Iwai
Date: Fri Sep 23 2011 - 09:28:08 EST


At Thu, 22 Sep 2011 18:26:06 +0200 (CEST),
Thomas Pfaff wrote:
>
> 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@xxxxxxx>

Applied now. Thanks.


Takashi


> ---
> diff -urp a/sound/usb/card.c b/sound/usb/card.c
> --- a/sound/usb/card.c 2011-09-22 08:42:29.138247328 +0200
> +++ b/sound/usb/card.c 2011-09-22 09:02:09.382079980 +0200
> @@ -532,6 +532,7 @@ snd_usb_audio_probe(struct usb_device *d
> __error:
> if (chip && !chip->num_interfaces)
> snd_card_free(chip->card);
> + chip->probing = 0;
> mutex_unlock(&register_mutex);
> __err_val:
> return NULL;
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/