[PATCH] enclosure: fix a api misuse in enclosure_register()

Haoxiang Li posted 1 patch 1 month, 3 weeks ago
drivers/misc/enclosure.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
[PATCH] enclosure: fix a api misuse in enclosure_register()
Posted by Haoxiang Li 1 month, 3 weeks ago
If device_register() fails, put_device() is the correct way to
drop the device reference.

Found by code review.

Fixes: ee959b00c335 ("SCSI: convert struct class_device to struct device")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
---
 drivers/misc/enclosure.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/misc/enclosure.c b/drivers/misc/enclosure.c
index ca4c420e4a2f..f7f72856d697 100644
--- a/drivers/misc/enclosure.c
+++ b/drivers/misc/enclosure.c
@@ -149,7 +149,7 @@ enclosure_register(struct device *dev, const char *name, int components,
 
  err:
 	put_device(edev->edev.parent);
-	kfree(edev);
+	put_device(&edev->edev);
 	return ERR_PTR(err);
 }
 EXPORT_SYMBOL_GPL(enclosure_register);
-- 
2.25.1