remoteproc: qcom_q6v5_mss: fix a bug in q6v5_probe()
authorAlex Elder <elder@linaro.org>
Fri, 3 Apr 2020 17:50:04 +0000 (12:50 -0500)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Thu, 16 Apr 2020 22:53:15 +0000 (15:53 -0700)
If looking up the DT "firmware-name" property fails in q6v6_probe(),
the function returns without freeing the remoteproc structure
that has been allocated.  Fix this by jumping to the free_rproc
label, which takes care of this.

Signed-off-by: Alex Elder <elder@linaro.org>
Link: https://lore.kernel.org/r/20200403175005.17130-3-elder@linaro.org
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/qcom_q6v5_mss.c

index ce49c3236ff7c83e00cbb7491c9db320c92cef44..60cdf699ea80bdae95d17b0b697d8fe5deb83100 100644 (file)
@@ -1675,7 +1675,7 @@ static int q6v5_probe(struct platform_device *pdev)
        ret = of_property_read_string_index(pdev->dev.of_node, "firmware-name",
                                            1, &qproc->hexagon_mdt_image);
        if (ret < 0 && ret != -EINVAL)
-               return ret;
+               goto free_rproc;
 
        platform_set_drvdata(pdev, qproc);