• J
    ALSA: cs46xx memory management fixes for cs46xx_dsp_spos_create() · bb617ee3
    Jesper Juhl 提交于
    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: NJesper Juhl <jj@chaosbits.net>
    Tested-by: NOndrej Zary <linux@rainbow-software.org>
    Signed-off-by: NTakashi Iwai <tiwai@suse.de>
    bb617ee3
dsp_spos.c 55.2 KB