| From 50813a270801972fe172e06ea55fbe310fa25822 Mon Sep 17 00:00:00 2001 |
| From: Wolfram Sang <wsa+renesas@sang-engineering.com> |
| Date: Mon, 20 Feb 2017 22:05:07 +0100 |
| Subject: [PATCH 090/286] ASoC: rsnd: check return value of init function |
| |
| Currently, this function cannot fail for the ADG case. Still, let's |
| apply defensive programming techniques to make sure we fail gracefully |
| whenever rsnd_mod_init() gets extended with another failure case. |
| Reported by Coverity (CID 1397893). |
| |
| Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> |
| Signed-off-by: Mark Brown <broonie@kernel.org> |
| (cherry picked from commit 56d2c61d611a50e58dba521be1325dc90f9cc933) |
| Signed-off-by: Simon Horman <horms+renesas@verge.net.au> |
| --- |
| sound/soc/sh/rcar/adg.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| --- a/sound/soc/sh/rcar/adg.c |
| +++ b/sound/soc/sh/rcar/adg.c |
| @@ -564,6 +564,7 @@ int rsnd_adg_probe(struct rsnd_priv *pri |
| struct rsnd_adg *adg; |
| struct device *dev = rsnd_priv_to_dev(priv); |
| struct device_node *np = dev->of_node; |
| + int ret; |
| |
| adg = devm_kzalloc(dev, sizeof(*adg), GFP_KERNEL); |
| if (!adg) { |
| @@ -571,8 +572,10 @@ int rsnd_adg_probe(struct rsnd_priv *pri |
| return -ENOMEM; |
| } |
| |
| - rsnd_mod_init(priv, &adg->mod, &adg_ops, |
| + ret = rsnd_mod_init(priv, &adg->mod, &adg_ops, |
| NULL, NULL, 0, 0); |
| + if (ret) |
| + return ret; |
| |
| rsnd_adg_get_clkin(priv, adg); |
| rsnd_adg_get_clkout(priv, adg); |