--- linux/sound/pci/hda/patch_realtek.c 2009-01-28 03:19:47.000000000 -0800 +++ linux/sound/pci/hda/patch_realtek.c 2009-01-28 03:20:12.000000000 -0800 @@ -15421,6 +15421,19 @@ AMP_IN_MUTE(0), bits); } +static void alc663_g50v_speaker_automute(struct hda_codec *codec) +{ + unsigned int present; + unsigned char bits; + + present = snd_hda_codec_read(codec, 0x21, 0, + AC_VERB_GET_PIN_SENSE, 0) + & AC_PINSENSE_PRESENCE; + bits = present ? HDA_AMP_MUTE : 0; + snd_hda_codec_amp_stereo(codec, 0x14, HDA_OUTPUT, 0, + HDA_AMP_MUTE, bits); +} + static void alc663_21jd_two_speaker_automute(struct hda_codec *codec) { unsigned int present; @@ -15723,7 +15736,7 @@ { switch (res >> 26) { case ALC880_HP_EVENT: - alc663_m51va_speaker_automute(codec); + alc663_g50v_speaker_automute(codec); break; case ALC880_MIC_EVENT: alc662_eeepc_mic_automute(codec); @@ -15733,7 +15746,7 @@ static void alc663_g50v_inithook(struct hda_codec *codec) { - alc663_m51va_speaker_automute(codec); + alc663_g50v_speaker_automute(codec); alc662_eeepc_mic_automute(codec); }