New kernels with debug show panic() from __phys_addr() checks. Avoid
calling virt_to_phys()  when pasid_state_tbl pointer is null

To: Joerg Roedel <[email protected]>
To: [email protected]>
Cc: [email protected]
Cc: David Woodhouse <[email protected]>
Cc: Jacob Pan <[email protected]>
Cc: Ashok Raj <[email protected]>

Signed-off-by: Ashok Raj <[email protected]>
---
 drivers/iommu/intel-iommu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 687f18f..5c6118d 100644
--- a/drivers/iommu/intel-iommu.c
+++ b/drivers/iommu/intel-iommu.c
@@ -5341,7 +5341,8 @@ int intel_iommu_enable_pasid(struct intel_iommu *iommu, 
struct intel_svm_dev *sd
        sdev->sid = PCI_DEVID(info->bus, info->devfn);
 
        if (!(ctx_lo & CONTEXT_PASIDE)) {
-               context[1].hi = (u64)virt_to_phys(iommu->pasid_state_table);
+               if (iommu->pasid_state_table)
+                       context[1].hi = 
(u64)virt_to_phys(iommu->pasid_state_table);
                context[1].lo = (u64)virt_to_phys(iommu->pasid_table) |
                        intel_iommu_get_pts(iommu);
 
-- 
2.7.4

Reply via email to