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 <arvind.yadav.cs@gmail.com>
Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Arvind Yadav 2018-05-09 12:06:03 -06:00 committed by Greg Kroah-Hartman
parent a93e7b3315
commit a7082daac8
1 changed files with 4 additions and 4 deletions

View File

@ -1026,8 +1026,10 @@ struct coresight_device *coresight_register(struct coresight_desc *desc)
dev_set_name(&csdev->dev, "%s", desc->pdata->name); dev_set_name(&csdev->dev, "%s", desc->pdata->name);
ret = device_register(&csdev->dev); ret = device_register(&csdev->dev);
if (ret) if (ret) {
goto err_device_register; put_device(&csdev->dev);
goto err_kzalloc_csdev;
}
mutex_lock(&coresight_mutex); mutex_lock(&coresight_mutex);
@ -1038,8 +1040,6 @@ struct coresight_device *coresight_register(struct coresight_desc *desc)
return csdev; return csdev;
err_device_register:
kfree(conns);
err_kzalloc_conns: err_kzalloc_conns:
kfree(refcnts); kfree(refcnts);
err_kzalloc_refcnts: err_kzalloc_refcnts: