summaryrefslogtreecommitdiffstats
path: root/sound/pci/intel8x0.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-04-22 09:09:29 +0200
committerTakashi Iwai <tiwai@suse.de>2009-04-22 09:09:29 +0200
commit248e88247a0e03125a663be69f2656d2e158371e (patch)
tree8795079c01733086b18cf0e995dbd9892ca328f6 /sound/pci/intel8x0.c
parentMerge branch 'fix/hda' into for-linus (diff)
parent[ALSA] intel8x0: another attempt to fix ac97_clock measure routine (diff)
downloadlinux-248e88247a0e03125a663be69f2656d2e158371e.tar.xz
linux-248e88247a0e03125a663be69f2656d2e158371e.zip
Merge commit 'alsa/master' into for-linus
* commit 'alsa/master': [ALSA] intel8x0: another attempt to fix ac97_clock measure routine [ALSA] ac97_codec: increase timeout for analog subsections
Diffstat (limited to 'sound/pci/intel8x0.c')
-rw-r--r--sound/pci/intel8x0.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/pci/intel8x0.c b/sound/pci/intel8x0.c
index 8042d5398892..173bebf9f51d 100644
--- a/sound/pci/intel8x0.c
+++ b/sound/pci/intel8x0.c
@@ -2751,11 +2751,12 @@ static void __devinit intel8x0_measure_ac97_clock(struct intel8x0 *chip)
if (pos == 0) {
snd_printk(KERN_ERR "intel8x0: measure - unreliable DMA position..\n");
__retry:
- if (attempt < 2) {
+ if (attempt < 3) {
+ msleep(300);
attempt++;
goto __again;
}
- return;
+ goto __end;
}
pos /= 4;
@@ -2782,6 +2783,7 @@ static void __devinit intel8x0_measure_ac97_clock(struct intel8x0 *chip)
else if (pos < 47500 || pos > 48500)
/* not 48000Hz, tuning the clock.. */
chip->ac97_bus->clock = (chip->ac97_bus->clock * 48000) / pos;
+ __end:
printk(KERN_INFO "intel8x0: clocking to %d\n", chip->ac97_bus->clock);
snd_ac97_update_power(chip->ac97[0], AC97_PCM_FRONT_DAC_RATE, 0);
}