summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabio Estevam <fabio.estevam@freescale.com>2013-07-10 06:25:37 +0400
committerThierry Reding <thierry.reding@gmail.com>2013-09-03 15:07:51 +0400
commitcfb9e4c40e87dffdce96d3a95c33d01f441b2470 (patch)
treeee66cf7481b49aa44e7757c930a628c76e24f0ea
parent9da01759636f519967c0922ae12bd9fff739db9a (diff)
downloadlinux-cfb9e4c40e87dffdce96d3a95c33d01f441b2470.tar.xz
pwm: mxs: Check the return value from stmp_reset_block()
stmp_reset_block() may fail, so let's check its return value and propagate it in the case of error. Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
-rw-r--r--drivers/pwm/pwm-mxs.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/drivers/pwm/pwm-mxs.c b/drivers/pwm/pwm-mxs.c
index 2c77b81da7c4..c2c5a4fd1b96 100644
--- a/drivers/pwm/pwm-mxs.c
+++ b/drivers/pwm/pwm-mxs.c
@@ -161,9 +161,15 @@ static int mxs_pwm_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, mxs);
- stmp_reset_block(mxs->base);
+ ret = stmp_reset_block(mxs->base);
+ if (ret)
+ goto pwm_remove;
return 0;
+
+pwm_remove:
+ pwmchip_remove(&mxs->chip);
+ return ret;
}
static int mxs_pwm_remove(struct platform_device *pdev)