ALSA: usb-audio: Fix autopm error during probing
authorTakashi Iwai <tiwai@suse.de>
Thu, 25 Apr 2013 05:38:15 +0000 (07:38 +0200)
committerBen Hutchings <ben@decadent.org.uk>
Mon, 13 May 2013 14:02:26 +0000 (15:02 +0100)
commit42c72c8c4efa25812f711c96b0f04f7a1091a2b9
treea3459d3e3c159c5a05cad931cbcdc4441fccae70
parent25fd4d9121db99556a8c2bb0ba9ae93ac54c3a61
ALSA: usb-audio: Fix autopm error during probing

commit 60af3d037eb8c670dcce31401501d1271e7c5d95 upstream.

We've got strange errors in get_ctl_value() in mixer.c during
probing, e.g. on Hercules RMX2 DJ Controller:

  ALSA mixer.c:352 cannot get ctl value: req = 0x83, wValue = 0x201, wIndex = 0xa00, type = 4
  ALSA mixer.c:352 cannot get ctl value: req = 0x83, wValue = 0x200, wIndex = 0xa00, type = 4
  ....

It turned out that the culprit is autopm: snd_usb_autoresume() returns
-ENODEV when called during card->probing = 1.

Since the call itself during card->probing = 1 is valid, let's fix the
return value of snd_usb_autoresume() as success.

Reported-and-tested-by: Daniel Schürmann <daschuer@mixxx.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
sound/usb/card.c