• Takashi Iwai's avatar
    ALSA: hda: Release resources at error in delayed probe · 2393e755
    Takashi Iwai authored
    snd-hda-intel driver handles the most of its probe task in the delayed
    work (either via workqueue or via firmware loader).  When an error
    happens in the later delayed probe, we can't deregister the device
    itself because the probe callback already returned success and the
    device was bound.  So, for now, we set hda->init_failed flag and make
    the rest untouched until the device gets really unbound.
    However, this leaves the device up running, keeping the resources
    without any use that prevents other operations.
    
    In this patch, we release the resources at first when a probe error
    happens in the delayed probe stage, but keeps the top-level object, so
    that the PM and other ops can still refer to the object itself.
    
    Also for simplicity, snd_hda_intel object is allocated via devm, so
    that we can get rid of the explicit kfree calls.
    
    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=207043
    Link: https://lore.kernel.org/r/20200413082034.25166-4-tiwai@suse.deSigned-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    2393e755
hda_intel.h 779 Bytes