ASoC: Intel: Skylake: Fix to cleanup if skl_sst_dsp_init fails
authorSubhransu S. Prusty <subhransu.s.prusty@intel.com>
Fri, 30 Oct 2015 15:04:19 +0000 (20:34 +0530)
committerMark Brown <broonie@kernel.org>
Mon, 16 Nov 2015 10:08:09 +0000 (10:08 +0000)
This patch fixes the below warning reported by Dan by invoking
skl_sst_dsp_cleanup() in cleanup path on error and not bailing out

sound/soc/intel/skylake/skl-sst.c:270 skl_sst_dsp_init()
info: ignoring unreachable code.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Subhransu S. Prusty <subhransu.s.prusty@intel.com>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/intel/skylake/skl-sst.c

index 3b83dc99f1d405ffd5ea65e1376cae6920a99e63..5c5a244942efcd54126cc9950aadbd7c49cda9a6 100644 (file)
@@ -259,15 +259,16 @@ int skl_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq,
        ret = sst->fw_ops.load_fw(sst);
        if (ret < 0) {
                dev_err(dev, "Load base fw failed : %d", ret);
-               return ret;
+               goto cleanup;
        }
 
        if (dsp)
                *dsp = skl;
 
-       return 0;
+       return ret;
 
-       skl_ipc_free(&skl->ipc);
+cleanup:
+       skl_sst_dsp_cleanup(dev, skl);
        return ret;
 }
 EXPORT_SYMBOL_GPL(skl_sst_dsp_init);