diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2018-03-14 20:56:37 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-05-30 07:52:30 +0200 |
commit | 35a4f782b521c583cab615fba04bde9b4d4ed205 (patch) | |
tree | 6fd8af32350ddc8269c1d72722d8fd70cd8ec672 | |
parent | 4a092479bb4f302d5e51a21d0d18e74aa6ea5837 (diff) | |
download | linux-exynos-35a4f782b521c583cab615fba04bde9b4d4ed205.tar.gz linux-exynos-35a4f782b521c583cab615fba04bde9b4d4ed205.tar.bz2 linux-exynos-35a4f782b521c583cab615fba04bde9b4d4ed205.zip |
remoteproc: imx_rproc: Fix an error handling path in 'imx_rproc_probe()'
[ 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>
-rw-r--r-- | drivers/remoteproc/imx_rproc.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/remoteproc/imx_rproc.c b/drivers/remoteproc/imx_rproc.c index 633268e9d550..05bcbce2013a 100644 --- a/drivers/remoteproc/imx_rproc.c +++ b/drivers/remoteproc/imx_rproc.c @@ -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; |