ALSA: hda - Disable the sanity check in snd_hda_add_pincfg()
authorTakashi Iwai <tiwai@suse.de>
Thu, 18 Apr 2013 07:59:28 +0000 (09:59 +0200)
committerTakashi Iwai <tiwai@suse.de>
Thu, 18 Apr 2013 07:59:28 +0000 (09:59 +0200)
When pin default configs are overridden via patch option, these are
evaluated before fixups are applied.  Since some fixups change the
whole codec trees and/or add pins dynamically, this sanity check might
not pass when pins aren't present at the time the function is called.

We may reorder the execution, but an easier fix is simply to disable
this sanity check.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_codec.c

index 3603cbe..6f9b647 100644 (file)
@@ -1065,8 +1065,14 @@ int snd_hda_add_pincfg(struct hda_codec *codec, struct snd_array *list,
 {
        struct hda_pincfg *pin;
 
+       /* the check below may be invalid when pins are added by a fixup
+        * dynamically (e.g. via snd_hda_codec_update_widgets()), so disabled
+        * for now
+        */
+       /*
        if (get_wcaps_type(get_wcaps(codec, nid)) != AC_WID_PIN)
                return -EINVAL;
+       */
 
        pin = look_up_pincfg(codec, list, nid);
        if (!pin) {