ALSA: hdmi - dont fail on extra nodes
authorWu Fengguang <fengguang.wu@intel.com>
Fri, 14 May 2010 08:36:15 +0000 (16:36 +0800)
committerTakashi Iwai <tiwai@suse.de>
Mon, 17 May 2010 06:12:13 +0000 (08:12 +0200)
The number of HDMI nodes is expected to go up in future.
So don't fail hard on seeing extra converter/pin nodes.

We can still operate safely on the nodes within
MAX_HDMI_CVTS/MAX_HDMI_PINS.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_hdmi.c

index 2c2bafbf02586099f7112a0a7c5f5f871ce6493d..86067ee786324b294be637b202b5c16e381724d0 100644 (file)
@@ -766,7 +766,7 @@ static int hdmi_add_pin(struct hda_codec *codec, hda_nid_t pin_nid)
        if (spec->num_pins >= MAX_HDMI_PINS) {
                snd_printk(KERN_WARNING
                           "HDMI: no space for pin %d\n", pin_nid);
-               return -EINVAL;
+               return -E2BIG;
        }
 
        hdmi_present_sense(codec, pin_nid, &spec->sink_eld[spec->num_pins]);
@@ -788,7 +788,7 @@ static int hdmi_add_cvt(struct hda_codec *codec, hda_nid_t nid)
        if (spec->num_cvts >= MAX_HDMI_CVTS) {
                snd_printk(KERN_WARNING
                           "HDMI: no space for converter %d\n", nid);
-               return -EINVAL;
+               return -E2BIG;
        }
 
        spec->cvt[spec->num_cvts] = nid;
@@ -820,15 +820,13 @@ static int hdmi_parse_codec(struct hda_codec *codec)
 
                switch (type) {
                case AC_WID_AUD_OUT:
-                       if (hdmi_add_cvt(codec, nid) < 0)
-                               return -EINVAL;
+                       hdmi_add_cvt(codec, nid);
                        break;
                case AC_WID_PIN:
                        caps = snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP);
                        if (!(caps & (AC_PINCAP_HDMI | AC_PINCAP_DP)))
                                continue;
-                       if (hdmi_add_pin(codec, nid) < 0)
-                               return -EINVAL;
+                       hdmi_add_pin(codec, nid);
                        break;
                }
        }