diff options
| author | Takashi Iwai <tiwai@suse.de> | 2010-03-29 03:16:24 -0400 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2010-03-29 03:18:49 -0400 |
| commit | 5dbd5ec6e1cf2e49128025d80813a275744a7ac5 (patch) | |
| tree | 6b9e37293030480c891cf78433767e2f63af532e | |
| parent | 9ec8ddad59fadd8021adfea4cb716a49b0e232e9 (diff) | |
ALSA: hda - Fix invalid bit values passed to snd_hda_codec_amp_stereo()
The mask and value parameters passed to snd_hda_codec_amp_stereo()
should be 8-bit values for mute and volume. Passing AMP_IN_MUTE() is
wrong, which is found in many places in patch_realtek.c as a left-over
from the conversion to snd_hda_codec_amp_stereo().
Reported-by: Dan Carpenter <error27@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
| -rw-r--r-- | sound/pci/hda/patch_realtek.c | 52 |
1 files changed, 26 insertions, 26 deletions
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 9a23444e9e7a..bc55c1e96df5 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c | |||
| @@ -12459,11 +12459,11 @@ static void alc268_aspire_one_speaker_automute(struct hda_codec *codec) | |||
| 12459 | unsigned char bits; | 12459 | unsigned char bits; |
| 12460 | 12460 | ||
| 12461 | present = snd_hda_jack_detect(codec, 0x15); | 12461 | present = snd_hda_jack_detect(codec, 0x15); |
| 12462 | bits = present ? AMP_IN_MUTE(0) : 0; | 12462 | bits = present ? HDA_AMP_MUTE : 0; |
| 12463 | snd_hda_codec_amp_stereo(codec, 0x0f, HDA_INPUT, 0, | 12463 | snd_hda_codec_amp_stereo(codec, 0x0f, HDA_INPUT, 0, |
| 12464 | AMP_IN_MUTE(0), bits); | 12464 | HDA_AMP_MUTE, bits); |
| 12465 | snd_hda_codec_amp_stereo(codec, 0x0f, HDA_INPUT, 1, | 12465 | snd_hda_codec_amp_stereo(codec, 0x0f, HDA_INPUT, 1, |
| 12466 | AMP_IN_MUTE(0), bits); | 12466 | HDA_AMP_MUTE, bits); |
| 12467 | } | 12467 | } |
| 12468 | 12468 | ||
| 12469 | static void alc268_acer_lc_unsol_event(struct hda_codec *codec, | 12469 | static void alc268_acer_lc_unsol_event(struct hda_codec *codec, |
| @@ -13482,11 +13482,11 @@ static void alc269_quanta_fl1_speaker_automute(struct hda_codec *codec) | |||
| 13482 | unsigned char bits; | 13482 | unsigned char bits; |
| 13483 | 13483 | ||
| 13484 | present = snd_hda_jack_detect(codec, 0x15); | 13484 | present = snd_hda_jack_detect(codec, 0x15); |
| 13485 | bits = present ? AMP_IN_MUTE(0) : 0; | 13485 | bits = present ? HDA_AMP_MUTE : 0; |
| 13486 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, | 13486 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, |
| 13487 | AMP_IN_MUTE(0), bits); | 13487 | HDA_AMP_MUTE, bits); |
| 13488 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, | 13488 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, |
| 13489 | AMP_IN_MUTE(0), bits); | 13489 | HDA_AMP_MUTE, bits); |
| 13490 | 13490 | ||
| 13491 | snd_hda_codec_write(codec, 0x20, 0, | 13491 | snd_hda_codec_write(codec, 0x20, 0, |
| 13492 | AC_VERB_SET_COEF_INDEX, 0x0c); | 13492 | AC_VERB_SET_COEF_INDEX, 0x0c); |
| @@ -13511,11 +13511,11 @@ static void alc269_lifebook_speaker_automute(struct hda_codec *codec) | |||
| 13511 | /* Check port replicator headphone socket */ | 13511 | /* Check port replicator headphone socket */ |
| 13512 | present |= snd_hda_jack_detect(codec, 0x1a); | 13512 | present |= snd_hda_jack_detect(codec, 0x1a); |
| 13513 | 13513 | ||
| 13514 | bits = present ? AMP_IN_MUTE(0) : 0; | 13514 | bits = present ? HDA_AMP_MUTE : 0; |
| 13515 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, | 13515 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, |
| 13516 | AMP_IN_MUTE(0), bits); | 13516 | HDA_AMP_MUTE, bits); |
| 13517 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, | 13517 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, |
| 13518 | AMP_IN_MUTE(0), bits); | 13518 | HDA_AMP_MUTE, bits); |
| 13519 | 13519 | ||
| 13520 | snd_hda_codec_write(codec, 0x20, 0, | 13520 | snd_hda_codec_write(codec, 0x20, 0, |
| 13521 | AC_VERB_SET_COEF_INDEX, 0x0c); | 13521 | AC_VERB_SET_COEF_INDEX, 0x0c); |
| @@ -13646,11 +13646,11 @@ static void alc269_speaker_automute(struct hda_codec *codec) | |||
| 13646 | unsigned char bits; | 13646 | unsigned char bits; |
| 13647 | 13647 | ||
| 13648 | present = snd_hda_jack_detect(codec, nid); | 13648 | present = snd_hda_jack_detect(codec, nid); |
| 13649 | bits = present ? AMP_IN_MUTE(0) : 0; | 13649 | bits = present ? HDA_AMP_MUTE : 0; |
| 13650 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, | 13650 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, |
| 13651 | AMP_IN_MUTE(0), bits); | 13651 | HDA_AMP_MUTE, bits); |
| 13652 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, | 13652 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, |
| 13653 | AMP_IN_MUTE(0), bits); | 13653 | HDA_AMP_MUTE, bits); |
| 13654 | } | 13654 | } |
| 13655 | 13655 | ||
| 13656 | /* unsolicited event for HP jack sensing */ | 13656 | /* unsolicited event for HP jack sensing */ |
| @@ -17115,9 +17115,9 @@ static void alc663_m51va_speaker_automute(struct hda_codec *codec) | |||
| 17115 | present = snd_hda_jack_detect(codec, 0x21); | 17115 | present = snd_hda_jack_detect(codec, 0x21); |
| 17116 | bits = present ? HDA_AMP_MUTE : 0; | 17116 | bits = present ? HDA_AMP_MUTE : 0; |
| 17117 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, | 17117 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, |
| 17118 | AMP_IN_MUTE(0), bits); | 17118 | HDA_AMP_MUTE, bits); |
| 17119 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, | 17119 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, |
| 17120 | AMP_IN_MUTE(0), bits); | 17120 | HDA_AMP_MUTE, bits); |
| 17121 | } | 17121 | } |
| 17122 | 17122 | ||
| 17123 | static void alc663_21jd_two_speaker_automute(struct hda_codec *codec) | 17123 | static void alc663_21jd_two_speaker_automute(struct hda_codec *codec) |
| @@ -17128,13 +17128,13 @@ static void alc663_21jd_two_speaker_automute(struct hda_codec *codec) | |||
| 17128 | present = snd_hda_jack_detect(codec, 0x21); | 17128 | present = snd_hda_jack_detect(codec, 0x21); |
| 17129 | bits = present ? HDA_AMP_MUTE : 0; | 17129 | bits = present ? HDA_AMP_MUTE : 0; |
| 17130 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, | 17130 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, |
| 17131 | AMP_IN_MUTE(0), bits); | 17131 | HDA_AMP_MUTE, bits); |
| 17132 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, | 17132 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, |
| 17133 | AMP_IN_MUTE(0), bits); | 17133 | HDA_AMP_MUTE, bits); |
| 17134 | snd_hda_codec_amp_stereo(codec, 0x0e, HDA_INPUT, 0, | 17134 | snd_hda_codec_amp_stereo(codec, 0x0e, HDA_INPUT, 0, |
| 17135 | AMP_IN_MUTE(0), bits); | 17135 | HDA_AMP_MUTE, bits); |
| 17136 | snd_hda_codec_amp_stereo(codec, 0x0e, HDA_INPUT, 1, | 17136 | snd_hda_codec_amp_stereo(codec, 0x0e, HDA_INPUT, 1, |
| 17137 | AMP_IN_MUTE(0), bits); | 17137 | HDA_AMP_MUTE, bits); |
| 17138 | } | 17138 | } |
| 17139 | 17139 | ||
| 17140 | static void alc663_15jd_two_speaker_automute(struct hda_codec *codec) | 17140 | static void alc663_15jd_two_speaker_automute(struct hda_codec *codec) |
| @@ -17145,13 +17145,13 @@ static void alc663_15jd_two_speaker_automute(struct hda_codec *codec) | |||
| 17145 | present = snd_hda_jack_detect(codec, 0x15); | 17145 | present = snd_hda_jack_detect(codec, 0x15); |
| 17146 | bits = present ? HDA_AMP_MUTE : 0; | 17146 | bits = present ? HDA_AMP_MUTE : 0; |
| 17147 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, | 17147 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, |
| 17148 | AMP_IN_MUTE(0), bits); | 17148 | HDA_AMP_MUTE, bits); |
| 17149 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, | 17149 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, |
| 17150 | AMP_IN_MUTE(0), bits); | 17150 | HDA_AMP_MUTE, bits); |
| 17151 | snd_hda_codec_amp_stereo(codec, 0x0e, HDA_INPUT, 0, | 17151 | snd_hda_codec_amp_stereo(codec, 0x0e, HDA_INPUT, 0, |
| 17152 | AMP_IN_MUTE(0), bits); | 17152 | HDA_AMP_MUTE, bits); |
| 17153 | snd_hda_codec_amp_stereo(codec, 0x0e, HDA_INPUT, 1, | 17153 | snd_hda_codec_amp_stereo(codec, 0x0e, HDA_INPUT, 1, |
| 17154 | AMP_IN_MUTE(0), bits); | 17154 | HDA_AMP_MUTE, bits); |
| 17155 | } | 17155 | } |
| 17156 | 17156 | ||
| 17157 | static void alc662_f5z_speaker_automute(struct hda_codec *codec) | 17157 | static void alc662_f5z_speaker_automute(struct hda_codec *codec) |
| @@ -17190,14 +17190,14 @@ static void alc663_two_hp_m2_speaker_automute(struct hda_codec *codec) | |||
| 17190 | 17190 | ||
| 17191 | if (present1 || present2) { | 17191 | if (present1 || present2) { |
| 17192 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, | 17192 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, |
| 17193 | AMP_IN_MUTE(0), AMP_IN_MUTE(0)); | 17193 | HDA_AMP_MUTE, HDA_AMP_MUTE); |
| 17194 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, | 17194 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, |
| 17195 | AMP_IN_MUTE(0), AMP_IN_MUTE(0)); | 17195 | HDA_AMP_MUTE, HDA_AMP_MUTE); |
| 17196 | } else { | 17196 | } else { |
| 17197 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, | 17197 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 0, |
| 17198 | AMP_IN_MUTE(0), 0); | 17198 | HDA_AMP_MUTE, 0); |
| 17199 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, | 17199 | snd_hda_codec_amp_stereo(codec, 0x0c, HDA_INPUT, 1, |
| 17200 | AMP_IN_MUTE(0), 0); | 17200 | HDA_AMP_MUTE, 0); |
| 17201 | } | 17201 | } |
| 17202 | } | 17202 | } |
| 17203 | 17203 | ||
