aboutsummaryrefslogtreecommitdiffstats
path: root/xen/drivers/passthrough/amd/iommu_intr.c
diff options
context:
space:
mode:
Diffstat (limited to 'xen/drivers/passthrough/amd/iommu_intr.c')
-rw-r--r--xen/drivers/passthrough/amd/iommu_intr.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/xen/drivers/passthrough/amd/iommu_intr.c b/xen/drivers/passthrough/amd/iommu_intr.c
index 213f4d7bab..c1b76fb9d0 100644
--- a/xen/drivers/passthrough/amd/iommu_intr.c
+++ b/xen/drivers/passthrough/amd/iommu_intr.c
@@ -598,10 +598,16 @@ int __init amd_setup_hpet_msi(struct msi_desc *msi_desc)
unsigned long flags;
int rc = 0;
- if ( msi_desc->hpet_id != hpet_sbdf.id || !hpet_sbdf.iommu )
+ if ( hpet_sbdf.init == HPET_NONE )
{
- AMD_IOMMU_DEBUG("Failed to setup HPET MSI remapping: %s\n",
- hpet_sbdf.iommu ? "Wrong HPET" : "No IOMMU");
+ AMD_IOMMU_DEBUG("Failed to setup HPET MSI remapping."
+ " Missing IVRS HPET info.\n");
+ return -ENODEV;
+ }
+ if ( msi_desc->hpet_id != hpet_sbdf.id )
+ {
+ AMD_IOMMU_DEBUG("Failed to setup HPET MSI remapping."
+ " Wrong HPET.\n");
return -ENODEV;
}