[ALSA] ad1838/cs4231 - fix MCE timeout upon initial load
authorRene Herman <rene.herman@gmail.com>
Mon, 10 Sep 2007 21:19:55 +0000 (23:19 +0200)
committerJaroslav Kysela <perex@perex.cz>
Tue, 16 Oct 2007 14:49:24 +0000 (16:49 +0200)
commit90cf9b853281a39555cce8a42fc0fabad75b42a8
tree45b1da8f46b35d5b7d3fd1e6fbf05518670ff920
parent51c80cb65ff9b7bdf172f9075138793c2bce6883
[ALSA] ad1838/cs4231 - fix MCE timeout upon initial load

When the ad1848/cs2431 is first being initialized, auto-calibration may not
be set causing a timeout waiting for it in snd_ad1848/cs4231_mce_down().
This has no dire consequences other than an alarming printk, but since what
we need to wait for is for the calibration to _finish_, let's just check for
that instead.
The early chips need a slight delay (as commented -- 5 sample periods) to be
sure that _if_ calibration is going to happen, it has started when we check
While the CS4231A datasheet implies it'll happen immediately on downing MCE,
some testing is showing that there's a window there as well, so just do the
delay everywhere.
Thanks to Krysztof Helt for pinpointing this problem.

Signed-off-by: Rene Herman <rene.herman@gmail.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
sound/isa/ad1848/ad1848_lib.c
sound/isa/cs423x/cs4231_lib.c