ASoC: wm_adsp: Release firmware on error
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Mon, 21 Jan 2013 09:02:31 +0000 (09:02 +0000)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Tue, 22 Jan 2013 07:40:26 +0000 (16:40 +0900)
This patch correctly releases the firmware if the magic string in the
firmware header does not match.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
sound/soc/codecs/wm_adsp.c

index 4196f2d54967253d154efd36c0867f658b7d0b2f..b6b65483758518f8b8cab7672af882ef923d2768 100644 (file)
@@ -396,7 +396,7 @@ static int wm_adsp_load_coeff(struct wm_adsp *dsp)
        hdr = (void*)&firmware->data[0];
        if (memcmp(hdr->magic, "WMDR", 4) != 0) {
                adsp_err(dsp, "%s: invalid magic\n", file);
        hdr = (void*)&firmware->data[0];
        if (memcmp(hdr->magic, "WMDR", 4) != 0) {
                adsp_err(dsp, "%s: invalid magic\n", file);
-               return -EINVAL;
+               goto out_fw;
        }
 
        adsp_dbg(dsp, "%s: v%d.%d.%d\n", file,
        }
 
        adsp_dbg(dsp, "%s: v%d.%d.%d\n", file,