aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArvind Yadav <arvind.yadav.cs@gmail.com>2018-03-08 04:57:37 -0500
committerThierry Reding <thierry.reding@gmail.com>2018-03-27 19:18:53 -0400
commit8bbf5b426160343b554117eb9abdf4dad9a50e65 (patch)
tree5c83efe0fb5d3bc294fa8ac2fc0ec16aa02815df
parent8422c7439ea9c4e08198cec7edd5faf3890c4dd7 (diff)
pwm: sysfs: Use put_device() instead of kfree()
Never directly free @dev after calling device_register(), even if it returned an error! Always use put_device() to give up the reference initialized. Signed-off-by: Arvind Yadav <arvind.yadav.cs@gmail.com> Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
-rw-r--r--drivers/pwm/sysfs.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/pwm/sysfs.c b/drivers/pwm/sysfs.c
index 83f2b0b15712..7c71cdb8a9d8 100644
--- a/drivers/pwm/sysfs.c
+++ b/drivers/pwm/sysfs.c
@@ -273,7 +273,8 @@ static int pwm_export_child(struct device *parent, struct pwm_device *pwm)
273 ret = device_register(&export->child); 273 ret = device_register(&export->child);
274 if (ret) { 274 if (ret) {
275 clear_bit(PWMF_EXPORTED, &pwm->flags); 275 clear_bit(PWMF_EXPORTED, &pwm->flags);
276 kfree(export); 276 put_device(&export->child);
277 export = NULL;
277 return ret; 278 return ret;
278 } 279 }
279 280