• Krzysztof Helt's avatar
    ALSA: cs4236: detect chip in one pass · d114cd84
    Krzysztof Helt authored
    The cs4236 was two step detection with call to the snd_wss_free()
    between two steps. The snd_wss_free() did not free a sound device
    created in the snd_wss_create(). This caused an OOPS during module
    removal as the same sound device was released twice. The same OOPS
    happened if the cs4236 module loading failed.
    
    Fix this by adapting the snd_cs4236_create() to correctly work with
    chips less capable then cs4236. The snd_cs4236_create() behaves the
    same as the snd_wss_create() if the chip is less capable than the cs4236.
    Signed-off-by: default avatarKrzysztof Helt <krzysztof.h1@wp.pl>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    d114cd84
wss_lib.c 66.2 KB