• Takashi Iwai's avatar
    ALSA: pcm: Free chmap at PCM free callback, too · 3c09ac6e
    Takashi Iwai authored
    commit a8ff48cb upstream.
    
    The chmap ctls assigned to PCM streams are freed in the PCM disconnect
    callback.  However, since the disconnect callback isn't called when
    the card gets freed before registering, the chmap ctls may still be
    left assigned.  They are eventually freed together with other ctls,
    but it may cause an Oops at pcm_chmap_ctl_private_free(), as the
    function refers to the assigned PCM stream, while the PCM objects have
    been already freed beforehand.
    
    The fix is to free the chmap ctls also at PCM free callback, not only
    at PCM disconnect.
    Reported-by: default avatarLaxminath Kasam <b_lkasam@codeaurora.org>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    [bwh: Backported to 3.16: adjust context]
    Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
    3c09ac6e
pcm.c 34.2 KB