diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-27 19:45:28 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-05-27 19:45:28 -0700 |
commit | 46f2cc80514e389bacfb642a32a4181fa1f1d20b (patch) | |
tree | d9fba88eb0157e3413eecc79b2fe354974a1ad97 | |
parent | f23a5e1405e47df6cdc86568ea75df266b9e151f (diff) | |
download | op-kernel-dev-46f2cc80514e389bacfb642a32a4181fa1f1d20b.zip op-kernel-dev-46f2cc80514e389bacfb642a32a4181fa1f1d20b.tar.gz |
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>
-rw-r--r-- | sound/pci/hda/hda_intel.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c index 3487056..486f6de 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) * codecs. * The PCI register TCSEL is defined in the Intel manuals. */ - if (chip->driver_caps & AZX_DCAPS_NO_TCSEL) { + if (!(chip->driver_caps & AZX_DCAPS_NO_TCSEL)) { snd_printdd(SFX "Clearing TCSEL\n"); update_pci_byte(chip->pci, ICH6_PCIREG_TCSEL, 0x07, 0); } |