diff options
author | Markus Elfring <elfring@users.sourceforge.net> | 2017-08-11 22:02:47 +0200 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2017-08-14 17:28:18 +0100 |
commit | 11fca34b2783408dbf37e42a38e4b55d54d6fa3a (patch) | |
tree | 68f1632bfd1f1010f614f50cf18654f6cccc78cf | |
parent | 60ea0394a602d5abc24bd2381fa0966a8720eec1 (diff) |
ASoC: blackfin: Use common error handling code in sport_create()
Add a jump target so that a bit of exception handling can be better reused
at the end of this function.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r-- | sound/soc/blackfin/bf6xx-sport.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/sound/soc/blackfin/bf6xx-sport.c b/sound/soc/blackfin/bf6xx-sport.c index 1bc3e0a47a57..fcddebf2558c 100644 --- a/sound/soc/blackfin/bf6xx-sport.c +++ b/sound/soc/blackfin/bf6xx-sport.c @@ -394,19 +394,18 @@ struct sport_device *sport_create(struct platform_device *pdev) sport->pdev = pdev; ret = sport_get_resource(sport); - if (ret) { - kfree(sport); - return NULL; - } + if (ret) + goto free_data; ret = sport_request_resource(sport); - if (ret) { - kfree(sport); - return NULL; - } + if (ret) + goto free_data; dev_dbg(dev, "SPORT create success\n"); return sport; +free_data: + kfree(sport); + return NULL; } EXPORT_SYMBOL(sport_create); |