Browse Source

ALSA: hda - compute checksum in HDMI audio infoframe

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Wu Fengguang 16 years ago
parent
commit
9a957a24e3
1 changed files with 5 additions and 0 deletions
  1. 5 0
      sound/pci/hda/patch_intelhdmi.c

+ 5 - 0
sound/pci/hda/patch_intelhdmi.c

@@ -366,11 +366,16 @@ static void hdmi_fill_audio_infoframe(struct hda_codec *codec,
 					struct hdmi_audio_infoframe *ai)
 {
 	u8 *params = (u8 *)ai;
+	u8 sum = 0;
 	int i;
 
 	hdmi_debug_dip_size(codec);
 	hdmi_clear_dip_buffers(codec); /* be paranoid */
 
+	for (i = 0; i < sizeof(ai); i++)
+		sum += params[i];
+	ai->checksum = - sum;
+
 	hdmi_set_dip_index(codec, PIN_NID, 0x0, 0x0);
 	for (i = 0; i < sizeof(ai); i++)
 		hdmi_write_dip_byte(codec, PIN_NID, params[i]);