iommu/amd: Handle error path in amd_iommu_probe_device()
Do not try to set max_pasids in error path as dev_data is not allocated.
Fixes: a0c47f233e ("iommu/amd: Introduce iommu_dev_data.max_pasids")
Signed-off-by: Vasant Hegde <vasant.hegde@amd.com>
Reviewed-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Link: https://lore.kernel.org/r/20240828111029.5429-5-vasant.hegde@amd.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
committed by
Joerg Roedel
parent
95eb6a0512
commit
293aa9ec69
@@ -2187,11 +2187,12 @@ static struct iommu_device *amd_iommu_probe_device(struct device *dev)
|
||||
dev_err(dev, "Failed to initialize - trying to proceed anyway\n");
|
||||
iommu_dev = ERR_PTR(ret);
|
||||
iommu_ignore_device(iommu, dev);
|
||||
} else {
|
||||
amd_iommu_set_pci_msi_domain(dev, iommu);
|
||||
iommu_dev = &iommu->iommu;
|
||||
goto out_err;
|
||||
}
|
||||
|
||||
amd_iommu_set_pci_msi_domain(dev, iommu);
|
||||
iommu_dev = &iommu->iommu;
|
||||
|
||||
/*
|
||||
* If IOMMU and device supports PASID then it will contain max
|
||||
* supported PASIDs, else it will be zero.
|
||||
@@ -2203,6 +2204,7 @@ static struct iommu_device *amd_iommu_probe_device(struct device *dev)
|
||||
pci_max_pasids(to_pci_dev(dev)));
|
||||
}
|
||||
|
||||
out_err:
|
||||
iommu_completion_wait(iommu);
|
||||
|
||||
return iommu_dev;
|
||||
|
||||
Reference in New Issue
Block a user