• Jesper Juhl's avatar
    ALSA: cs46xx memory management fixes for cs46xx_dsp_spos_create() · bb617ee3
    Jesper Juhl authored
    When reading through sound/pci/cs46xx/dsp_spos.c I noticed a couple of
    things in cs46xx_dsp_spos_create().
    
    It seems to me that we don't always free the various memory buffers we
    allocate and we also do some work (structure member assignment) early,
    that is completely pointless if some of the memory allocations fail and
    we end up just aborting the whole thing.
    
    I don't have hardware to test, so the patch below is compile tested only,
    but it makes the following changes:
    
    - Make sure we always free all allocated memory on failures.
    - Don't do pointless work assigning to structure members before we know
      all memory allocations, that may abort progress, have completed
      successfully.
    - Remove some trailing whitespace.
    Signed-off-by: default avatarJesper Juhl <jj@chaosbits.net>
    Tested-by: default avatarOndrej Zary <linux@rainbow-software.org>
    Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
    bb617ee3
dsp_spos.c 55.2 KB