• Takashi Iwai's avatar
    ALSA: hda: Add codec on bus address table lately · ee5f85d9
    Takashi Iwai authored
    The call of snd_hdac_bus_add_device() is needed only for registering
    the codec onto the bus caddr_tbl[] that is referred essentially only
    in the unsol event handler.  That is, the reason of this call and the
    release by the counter-part function snd_hdac_bus_remove_device() is
    just to assure that the unsol event gets notified to the codec.
    
    But the current implementation of the unsol notification wouldn't work
    properly when the codec is still in a premature init state.  So this
    patch tries to work around it by delaying the caddr_tbl[] registration
    at the point of snd_hdac_device_register().
    
    Also, the order of snd_hdac_bus_remove_device() and device_del() calls
    are shuffled to make sure that the unsol event is masked before
    deleting the device.
    
    BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=204565Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    ee5f85d9
hdac_device.c 27.4 KB