ALSA: HDMI - fix ELD monitor name length
authorWu Fengguang <fengguang.wu@intel.com>
Wed, 29 Jun 2011 06:26:07 +0000 (14:26 +0800)
committerTakashi Iwai <tiwai@suse.de>
Wed, 29 Jun 2011 06:48:24 +0000 (08:48 +0200)
I noticed that the last character of the ELD monitor name is lost,
this fixes the issue.

This fix should be confirming to the HDA spec, and works together with
the DRM part of the ELD patch.

The HDA spec does not mention that Monitor_Name_String is an '\0'
ending string, and it allows NML to be 1, which is only valid when MNL
does not count the possible ending '\0'.

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

index b05f7be9dc1b154017838b4fda19486014ad6f47..e3e853153d14f51eb361fa5cd385504c13f2bbe9 100644 (file)
@@ -294,7 +294,7 @@ static int hdmi_update_eld(struct hdmi_eld *e,
                snd_printd(KERN_INFO "HDMI: out of range MNL %d\n", mnl);
                goto out_fail;
        } else
-               strlcpy(e->monitor_name, buf + ELD_FIXED_BYTES, mnl);
+               strlcpy(e->monitor_name, buf + ELD_FIXED_BYTES, mnl + 1);
 
        for (i = 0; i < e->sad_count; i++) {
                if (ELD_FIXED_BYTES + mnl + 3 * (i + 1) > size) {