• Rene Herman's avatar
    [ALSA] ad1838/cs4231 - fix MCE timeout upon initial load · 90cf9b85
    Rene Herman authored
    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: default avatarRene Herman <rene.herman@gmail.com>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    Signed-off-by: default avatarJaroslav Kysela <perex@suse.cz>
    90cf9b85
cs4231_lib.c 57.2 KB