diff options
author | Wu Fengguang <fengguang.wu@intel.com> | 2010-05-14 16:36:15 +0800 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2010-05-17 08:12:13 +0200 |
commit | 3eaead579ebc09d4f4c050c9b6ce6d67337bcb20 (patch) | |
tree | 37e92c71cf69f66200b77d68ffda08960b591436 /sound/pci/hda/patch_hdmi.c | |
parent | e48b00870f269541c28bec8d457904a04545d5e5 (diff) | |
download | kernel_samsung_crespo-3eaead579ebc09d4f4c050c9b6ce6d67337bcb20.zip kernel_samsung_crespo-3eaead579ebc09d4f4c050c9b6ce6d67337bcb20.tar.gz kernel_samsung_crespo-3eaead579ebc09d4f4c050c9b6ce6d67337bcb20.tar.bz2 |
ALSA: hdmi - dont fail on extra nodes
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>
Diffstat (limited to 'sound/pci/hda/patch_hdmi.c')
-rw-r--r-- | sound/pci/hda/patch_hdmi.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c index 2c2bafb..86067ee7 100644 --- a/sound/pci/hda/patch_hdmi.c +++ b/sound/pci/hda/patch_hdmi.c @@ -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; } } |