mirror of
https://github.com/torvalds/linux.git
synced 2026-06-06 05:27:07 +02:00
ASoC: fsl: Add missing error handling in pcm030_fabric_probe
commitfb25621da5upstream. Add the missing platform_device_put() and platform_device_del() before return from pcm030_fabric_probe in the error handling case. Fixes:c912fa9134("ASoC: fsl: register the wm9712-codec") Signed-off-by: Miaoqian Lin <linmq006@gmail.com> Link: https://lore.kernel.org/r/20220127131336.30214-1-linmq006@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3e69837551
commit
56e0747d59
|
|
@ -93,16 +93,21 @@ static int pcm030_fabric_probe(struct platform_device *op)
|
||||||
dev_err(&op->dev, "platform_device_alloc() failed\n");
|
dev_err(&op->dev, "platform_device_alloc() failed\n");
|
||||||
|
|
||||||
ret = platform_device_add(pdata->codec_device);
|
ret = platform_device_add(pdata->codec_device);
|
||||||
if (ret)
|
if (ret) {
|
||||||
dev_err(&op->dev, "platform_device_add() failed: %d\n", ret);
|
dev_err(&op->dev, "platform_device_add() failed: %d\n", ret);
|
||||||
|
platform_device_put(pdata->codec_device);
|
||||||
|
}
|
||||||
|
|
||||||
ret = snd_soc_register_card(card);
|
ret = snd_soc_register_card(card);
|
||||||
if (ret)
|
if (ret) {
|
||||||
dev_err(&op->dev, "snd_soc_register_card() failed: %d\n", ret);
|
dev_err(&op->dev, "snd_soc_register_card() failed: %d\n", ret);
|
||||||
|
platform_device_del(pdata->codec_device);
|
||||||
|
platform_device_put(pdata->codec_device);
|
||||||
|
}
|
||||||
|
|
||||||
platform_set_drvdata(op, pdata);
|
platform_set_drvdata(op, pdata);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pcm030_fabric_remove(struct platform_device *op)
|
static int pcm030_fabric_remove(struct platform_device *op)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user