summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Elfring <elfring@users.sourceforge.net>2017-08-11 22:02:47 +0200
committerMark Brown <broonie@kernel.org>2017-08-14 17:28:18 +0100
commit11fca34b2783408dbf37e42a38e4b55d54d6fa3a (patch)
tree68f1632bfd1f1010f614f50cf18654f6cccc78cf
parent60ea0394a602d5abc24bd2381fa0966a8720eec1 (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.c15
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);