[PATCH] ALSA: HDA: Correctly apply position_fix quirks for ATI and VIA controllers
David Henningsson
david.henningsson at canonical.com
Mon Oct 4 12:02:14 CEST 2010
Position_fix quirks for specific machines now override the default
position_fix behavior for all HDA controllers.
BugLink: http://launchpad.net/bugs/465942
BugLink: http://launchpad.net/bugs/580749
BugLink: http://launchpad.net/bugs/587546
Signed-off-by: David Henningsson <david.henningsson at canonical.com>
---
sound/pci/hda/hda_intel.c | 17 +++++++++--------
1 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/sound/pci/hda/hda_intel.c b/sound/pci/hda/hda_intel.c
index 38b063e..5cbea85 100644
--- a/sound/pci/hda/hda_intel.c
+++ b/sound/pci/hda/hda_intel.c
@@ -2315,14 +2315,6 @@ static int __devinit check_position_fix(struct azx *chip, int fix)
return fix;
}
- /* Check VIA/ATI HD Audio Controller exist */
- switch (chip->driver_type) {
- case AZX_DRIVER_VIA:
- case AZX_DRIVER_ATI:
- /* Use link position directly, avoid any transfer problem. */
- return POS_FIX_VIACOMBO;
- }
-
q = snd_pci_quirk_lookup(chip->pci, position_fix_list);
if (q) {
printk(KERN_INFO
@@ -2331,6 +2323,15 @@ static int __devinit check_position_fix(struct azx *chip, int fix)
q->value, q->subvendor, q->subdevice);
return q->value;
}
+
+ /* Check VIA/ATI HD Audio Controller exist */
+ switch (chip->driver_type) {
+ case AZX_DRIVER_VIA:
+ case AZX_DRIVER_ATI:
+ /* Use link position directly, avoid any transfer problem. */
+ return POS_FIX_VIACOMBO;
+ }
+
return POS_FIX_AUTO;
}
--
1.7.1
--------------090607090605080508040608--
More information about the Alsa-devel
mailing list