aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-05-27 22:45:28 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-05-27 22:45:28 -0400
commit46f2cc80514e389bacfb642a32a4181fa1f1d20b (patch)
treed9fba88eb0157e3413eecc79b2fe354974a1ad97 /sound
parentf23a5e1405e47df6cdc86568ea75df266b9e151f (diff)
ALSA: fix hda AZX_DCAPS_NO_TCSEL quirk check in driver_caps
Commit 9477c58e3308 ("ALSA: hda - Reorganize controller quriks with bit flags") changed the driver type compares into various quirk bits. However, the check for AZX_DCAPS_NO_TCSEL got reverted: instead of clearing TCSEL for chipsets that have that standard capability, it cleared then when the NO_TCSEL bit was set. This can lead to noise and repeated sounds - a weird "echo" behavior. As the comment just above says: "Ensuring these bits are 0 clears playback static on some HD Audio codecs". Which is definitely true at least on my Core i5 Westmere system. Cc: Takashi Iwai <tiwai@suse.de> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/pci/hda/hda_intel.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 348705666f99..486f6deb3eee 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -1085,7 +1085,7 @@ static void azx_init_pci(struct azx *chip)
1085 * codecs. 1085 * codecs.
1086 * The PCI register TCSEL is defined in the Intel manuals. 1086 * The PCI register TCSEL is defined in the Intel manuals.
1087 */ 1087 */
1088 if (chip->driver_caps & AZX_DCAPS_NO_TCSEL) { 1088 if (!(chip->driver_caps & AZX_DCAPS_NO_TCSEL)) {
1089 snd_printdd(SFX "Clearing TCSEL\n"); 1089 snd_printdd(SFX "Clearing TCSEL\n");
1090 update_pci_byte(chip->pci, ICH6_PCIREG_TCSEL, 0x07, 0); 1090 update_pci_byte(chip->pci, ICH6_PCIREG_TCSEL, 0x07, 0);
1091 } 1091 }