• Takashi Iwai's avatar
    ALSA: core: Don't refer to snd_cards array directly · f4fa9689
    Takashi Iwai authored
    The snd_cards[] array holds the card pointers that have been currently
    registered, and it's exported for the external modules that may need
    to refer a card object.  But accessing to this array can be racy
    against the driver probe or removal, as the card registration or free
    may happen concurrently.
    
    This patch gets rid of the direct access to snd_cards[] array and
    provides a helper function to give the card object from the index
    number with a refcount management.  Then the caller can access to the
    given card object safely, and releases it via snd_card_unref().
    
    While we're at it, add a proper comment to snd_card_unref() and make
    it an inlined function for type-safety, too.
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    f4fa9689
init.c 26.4 KB