Parcourir la source

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>
Arvind Yadav il y a 7 ans
Parent
commit
8bbf5b4261
1 fichiers modifiés avec 2 ajouts et 1 suppressions
  1. 2 1
      drivers/pwm/sysfs.c

+ 2 - 1
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;
 	}