aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArvind Yadav <[email protected]>2018-05-09 12:06:03 -0600
committerGreg Kroah-Hartman <[email protected]>2018-05-14 16:19:59 +0200
commita7082daac85231ddbb0502d777455756e4e3e69d (patch)
treef53eaaac7f63dcc4f4bb61bdd17fc50a5a5bbc71
parenta93e7b331568227500186a465fee3c2cb5dffd1f (diff)
coresight: 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 <[email protected]> Signed-off-by: Mathieu Poirier <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
-rw-r--r--drivers/hwtracing/coresight/coresight.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/hwtracing/coresight/coresight.c b/drivers/hwtracing/coresight/coresight.c
index 389c4baeca9d..132dfbcd90c1 100644
--- a/drivers/hwtracing/coresight/coresight.c
+++ b/drivers/hwtracing/coresight/coresight.c
@@ -1026,8 +1026,10 @@ struct coresight_device *coresight_register(struct coresight_desc *desc)
dev_set_name(&csdev->dev, "%s", desc->pdata->name);
ret = device_register(&csdev->dev);
- if (ret)
- goto err_device_register;
+ if (ret) {
+ put_device(&csdev->dev);
+ goto err_kzalloc_csdev;
+ }
mutex_lock(&coresight_mutex);
@@ -1038,8 +1040,6 @@ struct coresight_device *coresight_register(struct coresight_desc *desc)
return csdev;
-err_device_register:
- kfree(conns);
err_kzalloc_conns:
kfree(refcnts);
err_kzalloc_refcnts: