remoteproc: imx_rproc: Fix an error handling path in 'imx_rproc_probe()'
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Wed, 14 Mar 2018 19:56:37 +0000 (20:56 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 May 2018 05:52:30 +0000 (07:52 +0200)
[ Upstream commit de6f83f85be94e0b7d0d324c29ccc9d78a6bb4e7 ]

If 'of_device_get_match_data()' fails, we must undo the previous
'rproc_alloc()' call.

Fixes: a0ff4aa6f010 ("remoteproc: imx_rproc: add a NXP/Freescale imx_rproc driver")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/remoteproc/imx_rproc.c

index 633268e..05bcbce 100644 (file)
@@ -339,8 +339,10 @@ static int imx_rproc_probe(struct platform_device *pdev)
        }
 
        dcfg = of_device_get_match_data(dev);
-       if (!dcfg)
-               return -EINVAL;
+       if (!dcfg) {
+               ret = -EINVAL;
+               goto err_put_rproc;
+       }
 
        priv = rproc->priv;
        priv->rproc = rproc;