ALSA: usb-audio: update quirk for B&W PX to remove microphone
authorNicolas Huaman <nicolas@herochao.de>
Thu, 4 Oct 2018 14:42:05 +0000 (16:42 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 4 Oct 2018 20:52:40 +0000 (22:52 +0200)
A quirk in snd-usb-audio was added to automate setting sample rate to
4800k and remove the previously exposed nonfunctional microphone for
the Bowers & Wilkins PX:
commit 240a8af929c7c57dcde28682725b29cf8474e8e5
https://lore.kernel.org/patchwork/patch/919689/

However the headphones where updated shortly after that to remove the
unintentional microphone functionality. I guess because of this the
headphones now crash when connecting them via USB while the quirk is
active. Dmesg:

snd-usb-audio: probe of 2-3:1.0 failed with error -22
usb 2-3: 2:1: cannot get min/max values for control 2 (id 2)

This patch removes the microfone and allows the headphones to connect
and work out of the box. It is based on the current mainline kernel
 and successfully applied an tested on my machine (4.18.10.arch1-1).

Fixes: 240a8af929c7 ("ALSA: usb-audio: Add a quirck for B&W PX headphones")
Signed-off-by: Nicolas Huaman <nicolas@herochao.de>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/usb/quirks-table.h

index 08aa780070204ae4dbf0aeb68bec1ffe316fe803..849953e5775c27a32ebd6f1e942bd6283a9cf2e7 100644 (file)
@@ -3346,19 +3346,14 @@ AU0828_DEVICE(0x2040, 0x7270, "Hauppauge", "HVR-950Q"),
                                .ifnum = 0,
                                .type = QUIRK_AUDIO_STANDARD_MIXER,
                        },
-                       /* Capture */
-                       {
-                               .ifnum = 1,
-                               .type = QUIRK_IGNORE_INTERFACE,
-                       },
                        /* Playback */
                        {
-                               .ifnum = 2,
+                               .ifnum = 1,
                                .type = QUIRK_AUDIO_FIXED_ENDPOINT,
                                .data = &(const struct audioformat) {
                                        .formats = SNDRV_PCM_FMTBIT_S16_LE,
                                        .channels = 2,
-                                       .iface = 2,
+                                       .iface = 1,
                                        .altsetting = 1,
                                        .altset_idx = 1,
                                        .attributes = UAC_EP_CS_ATTR_FILL_MAX |