ASoC: topology: factor kfree(se) in error handling
No need to repeat the same thing multiple times when it can be done in one location. Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com> Link: https://lore.kernel.org/r/20200707203749.113883-5-pierre-louis.bossart@linux.intel.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
129fc2ba01
commit
952bd9377e
@ -1055,7 +1055,6 @@ static int soc_tplg_denum_create(struct soc_tplg *tplg, unsigned int count,
|
||||
dev_err(tplg->dev,
|
||||
"ASoC: could not create values for %s\n",
|
||||
ec->hdr.name);
|
||||
kfree(se);
|
||||
goto err_denum;
|
||||
}
|
||||
/* fall through */
|
||||
@ -1067,7 +1066,6 @@ static int soc_tplg_denum_create(struct soc_tplg *tplg, unsigned int count,
|
||||
dev_err(tplg->dev,
|
||||
"ASoC: could not create texts for %s\n",
|
||||
ec->hdr.name);
|
||||
kfree(se);
|
||||
goto err_denum;
|
||||
}
|
||||
break;
|
||||
@ -1076,7 +1074,6 @@ static int soc_tplg_denum_create(struct soc_tplg *tplg, unsigned int count,
|
||||
dev_err(tplg->dev,
|
||||
"ASoC: invalid enum control type %d for %s\n",
|
||||
ec->hdr.ops.info, ec->hdr.name);
|
||||
kfree(se);
|
||||
goto err_denum;
|
||||
}
|
||||
|
||||
@ -1084,7 +1081,6 @@ static int soc_tplg_denum_create(struct soc_tplg *tplg, unsigned int count,
|
||||
err = soc_tplg_kcontrol_bind_io(&ec->hdr, &kc, tplg);
|
||||
if (err) {
|
||||
soc_control_err(tplg, &ec->hdr, ec->hdr.name);
|
||||
kfree(se);
|
||||
goto err_denum;
|
||||
}
|
||||
|
||||
@ -1094,7 +1090,6 @@ static int soc_tplg_denum_create(struct soc_tplg *tplg, unsigned int count,
|
||||
if (err < 0) {
|
||||
dev_err(tplg->dev, "ASoC: failed to init %s\n",
|
||||
ec->hdr.name);
|
||||
kfree(se);
|
||||
goto err_denum;
|
||||
}
|
||||
|
||||
@ -1104,13 +1099,15 @@ static int soc_tplg_denum_create(struct soc_tplg *tplg, unsigned int count,
|
||||
if (err < 0) {
|
||||
dev_err(tplg->dev, "ASoC: could not add kcontrol %s\n",
|
||||
ec->hdr.name);
|
||||
kfree(se);
|
||||
goto err_denum;
|
||||
}
|
||||
|
||||
list_add(&se->dobj.list, &tplg->comp->dobj_list);
|
||||
}
|
||||
return 0;
|
||||
|
||||
err_denum:
|
||||
kfree(se);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user