• Takashi Iwai's avatar
    ALSA: hda: intel: Allow repeatedly probing on codec configuration errors · c0f1886d
    Takashi Iwai authored
    It seems that a few recent AMD systems show the codec configuration
    errors at the early boot, while loading the driver at a later stage
    works magically.  Although the root cause of the error isn't clear,
    it's certainly not bad to allow retrying the codec probe in such a
    case if that helps.
    
    This patch adds the capability for retrying the probe upon codec probe
    errors on the certain AMD platforms.  The probe_work is changed to a
    delayed work, and at the secondary call, it'll jump to the codec
    probing.
    
    Note that, not only adding the re-probing, this includes the behavior
    changes in the codec configuration function.  Namely,
    snd_hda_codec_configure() won't unregister the codec at errors any
    longer.  Instead, its caller, azx_codec_configure() unregisters the
    codecs with the probe failures *if* any codec has been successfully
    configured.  If all codec probe failed, it doesn't unregister but let
    it re-probed -- which is the most case we're seeing and this patch
    tries to improve.
    
    Even if the driver doesn't re-probe or give up, it will go to the
    "free-all" error path, hence the leftover codecs shall be disabled /
    deleted in anyway.
    
    BugLink: https://bugzilla.suse.com/show_bug.cgi?id=1190801
    Link: https://lore.kernel.org/r/20211006141940.2897-1-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    c0f1886d
hda_controller.c 34.4 KB