From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754225Ab1IWN2H (ORCPT ); Fri, 23 Sep 2011 09:28:07 -0400 Received: from cantor2.suse.de ([195.135.220.15]:48238 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753680Ab1IWN2F (ORCPT ); Fri, 23 Sep 2011 09:28:05 -0400 Date: Fri, 23 Sep 2011 15:28:02 +0200 Message-ID: From: Takashi Iwai To: Thomas Pfaff Cc: linux-kernel@vger.kernel.org, alsa-devel@alsa-project.org Subject: Re: [PATCH] sound/usb/card.c: clear chip->probing on error exit In-Reply-To: References: User-Agent: Wanderlust/2.15.6 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.7 Emacs/23.3 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset=US-ASCII Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 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(®ister_mutex); > __err_val: > return NULL; > >