From: Arvind Yadav Date: Thu, 8 Mar 2018 09:57:37 +0000 (+0530) Subject: pwm: sysfs: Use put_device() instead of kfree() X-Git-Tag: v4.17-rc1~19^2~4 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8bbf5b426160343b554117eb9abdf4dad9a50e65;p=thirdparty%2Fkernel%2Flinux.git 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 Signed-off-by: Thierry Reding --- diff --git a/drivers/pwm/sysfs.c b/drivers/pwm/sysfs.c index 83f2b0b15712b..7c71cdb8a9d8f 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) ret = device_register(&export->child); if (ret) { clear_bit(PWMF_EXPORTED, &pwm->flags); - kfree(export); + put_device(&export->child); + export = NULL; return ret; }