diff options
author | Arvind Yadav <arvind.yadav.cs@gmail.com> | 2018-03-08 04:57:37 -0500 |
---|---|---|
committer | Thierry Reding <thierry.reding@gmail.com> | 2018-03-27 19:18:53 -0400 |
commit | 8bbf5b426160343b554117eb9abdf4dad9a50e65 (patch) | |
tree | 5c83efe0fb5d3bc294fa8ac2fc0ec16aa02815df | |
parent | 8422c7439ea9c4e08198cec7edd5faf3890c4dd7 (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.c | 3 |
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 | ||