diff options
author | Christophe JAILLET <christophe.jaillet@wanadoo.fr> | 2018-03-14 15:56:37 -0400 |
---|---|---|
committer | Bjorn Andersson <bjorn.andersson@linaro.org> | 2018-03-18 18:43:46 -0400 |
commit | de6f83f85be94e0b7d0d324c29ccc9d78a6bb4e7 (patch) | |
tree | 9cf902358363b428c8e91ab40f9444dfefd4beca /drivers/remoteproc | |
parent | 842891be96bd2b90f0e7d44192d45f61bab17926 (diff) |
remoteproc: imx_rproc: Fix an error handling path in 'imx_rproc_probe()'
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>
Diffstat (limited to 'drivers/remoteproc')
-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) | |||
339 | } | 339 | } |
340 | 340 | ||
341 | dcfg = of_device_get_match_data(dev); | 341 | dcfg = of_device_get_match_data(dev); |
342 | if (!dcfg) | 342 | if (!dcfg) { |
343 | return -EINVAL; | 343 | ret = -EINVAL; |
344 | goto err_put_rproc; | ||
345 | } | ||
344 | 346 | ||
345 | priv = rproc->priv; | 347 | priv = rproc->priv; |
346 | priv->rproc = rproc; | 348 | priv->rproc = rproc; |