From: Arvind Yadav Date: Sun, 11 Mar 2018 05:55:48 +0000 (+0530) Subject: base: soc: use put_device() instead of kfree() X-Git-Tag: v4.17-rc1~123^2~24 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=ef49ec1dc35112b17f7e928aa08fcab60240bf1d;p=linux.git base: soc: 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: Greg Kroah-Hartman --- diff --git a/drivers/base/soc.c b/drivers/base/soc.c index 4e80f48ad5d6..10b280f30217 100644 --- a/drivers/base/soc.c +++ b/drivers/base/soc.c @@ -150,6 +150,8 @@ struct soc_device *soc_device_register(struct soc_device_attribute *soc_dev_attr out3: ida_simple_remove(&soc_ida, soc_dev->soc_dev_num); + put_device(&soc_dev->dev); + soc_dev = NULL; out2: kfree(soc_dev); out1: