提交 a7082daa 编写于 作者: A Arvind Yadav 提交者: Greg Kroah-Hartman

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: NArvind Yadav <arvind.yadav.cs@gmail.com>
Signed-off-by: NMathieu Poirier <mathieu.poirier@linaro.org>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 a93e7b33
...@@ -1026,8 +1026,10 @@ struct coresight_device *coresight_register(struct coresight_desc *desc) ...@@ -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) ...@@ -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:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册