diff mbox series

iommu/amd-vi: fix assert comparing boolean to enum

Message ID 20230511145152.98328-1-roger.pau@citrix.com (mailing list archive)
State New, archived
Headers show
Series iommu/amd-vi: fix assert comparing boolean to enum | expand

Commit Message

Roger Pau Monné May 11, 2023, 2:51 p.m. UTC
Or else when iommu_intremap is set to iommu_intremap_full the assert
triggers.

Fixes: 1ba66a870eba ('AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode')
Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
---
 xen/drivers/passthrough/amd/pci_amd_iommu.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Jan Beulich May 11, 2023, 2:53 p.m. UTC | #1
On 11.05.2023 16:51, Roger Pau Monne wrote:
> Or else when iommu_intremap is set to iommu_intremap_full the assert
> triggers.
> 
> Fixes: 1ba66a870eba ('AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode')
> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>

Reviewed-by: Jan Beulich <jbeulich@suse.com>
Andrew Cooper May 11, 2023, 2:55 p.m. UTC | #2
On 11/05/2023 3:53 pm, Jan Beulich wrote:
> On 11.05.2023 16:51, Roger Pau Monne wrote:
>> Or else when iommu_intremap is set to iommu_intremap_full the assert
>> triggers.
>>
>> Fixes: 1ba66a870eba ('AMD/IOMMU: without XT, x2APIC needs to be forced into physical mode')
>> Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
> Reviewed-by: Jan Beulich <jbeulich@suse.com>

It occurs to me that this might be related to the reports we're still
getting of some problems on these systems...

~Andrew
diff mbox series

Patch

diff --git a/xen/drivers/passthrough/amd/pci_amd_iommu.c b/xen/drivers/passthrough/amd/pci_amd_iommu.c
index 4ba8e764b22f..94e37755064b 100644
--- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -240,7 +240,7 @@  static int __must_check amd_iommu_setup_domain_device(
          */
         if ( dte->it_root )
             ASSERT(dte->int_ctl == IOMMU_DEV_TABLE_INT_CONTROL_TRANSLATED);
-        ASSERT(dte->iv == iommu_intremap);
+        ASSERT(dte->iv == !!iommu_intremap);
         ASSERT(dte->ex == ivrs_dev->dte_allow_exclusion);
         ASSERT(dte->sys_mgt == MASK_EXTR(ivrs_dev->device_flags,
                                          ACPI_IVHD_SYSTEM_MGMT));