Skip to content

Commit

Permalink
ALSA: hdmi - dont fail on extra nodes
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Takashi Iwai <[email protected]>
  • Loading branch information
Wu Fengguang authored and tiwai committed May 17, 2010
1 parent e48b008 commit 3eaead5
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions sound/pci/hda/patch_hdmi.c
Original file line number Diff line number Diff line change
Expand Up @@ -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]);
Expand All @@ -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;
Expand Down Expand Up @@ -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;
}
}
Expand Down

0 comments on commit 3eaead5

Please sign in to comment.