mirror of
https://github.com/torvalds/linux.git
synced 2026-10-08 11:36:02 +02:00
iommu/qcom: Remove sysfs device on probe failure path
In qcom_iommu_device_probe(), if iommu_device_register()
fails, the sysfs device created by iommu_device_sysfs_add()
is not released. Add a goto label to do the cleanup.
Fixes: 0ae349a0f3 ("iommu/qcom: Add qcom_iommu")
Signed-off-by: Haoxiang Li <haoxiang_li2024@163.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Mukesh Ojha <mukesh.ojha@oss.qualcomm.com>
Signed-off-by: Will Deacon <will@kernel.org>
This commit is contained in:
parent
d149c8b2c0
commit
c579f18e79
|
|
@ -855,7 +855,7 @@ static int qcom_iommu_device_probe(struct platform_device *pdev)
|
|||
ret = iommu_device_register(&qcom_iommu->iommu, &qcom_iommu_ops, dev);
|
||||
if (ret) {
|
||||
dev_err(dev, "Failed to register iommu\n");
|
||||
goto err_pm_disable;
|
||||
goto err_sysfs_remove;
|
||||
}
|
||||
|
||||
if (qcom_iommu->local_base) {
|
||||
|
|
@ -866,6 +866,8 @@ static int qcom_iommu_device_probe(struct platform_device *pdev)
|
|||
|
||||
return 0;
|
||||
|
||||
err_sysfs_remove:
|
||||
iommu_device_sysfs_remove(&qcom_iommu->iommu);
|
||||
err_pm_disable:
|
||||
pm_runtime_disable(dev);
|
||||
return ret;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user