aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-03-11 08:09:37 +0000
committerKeir Fraser <keir.fraser@citrix.com>2010-03-11 08:09:37 +0000
commit7a6d294eb96ce934efbd8c3ab517d9ddd03c0089 (patch)
treed53d8eb9106c20cccf70707d7ceab7fb4c35b942
parentbe8c32d7eab83b0e0b48c5111777dd007b28764d (diff)
downloadxen-7a6d294eb96ce934efbd8c3ab517d9ddd03c0089.tar.gz
xen-7a6d294eb96ce934efbd8c3ab517d9ddd03c0089.tar.bz2
xen-7a6d294eb96ce934efbd8c3ab517d9ddd03c0089.zip
Fix 21020:3198a2e81d38
This has a pretty serious bug. ioapic_to_iommu() gets returned drhd->iommu. However, drhd->iommu isn't allocated until part of iommu_setup(), which is called after enable_x2apic(). Has this ever worked? Signed-off-by: Alex Williamson <alex.williamson@hp.com>
-rw-r--r--xen/drivers/passthrough/vtd/intremap.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/drivers/passthrough/vtd/intremap.c b/xen/drivers/passthrough/vtd/intremap.c
index 0b3d95827b..fcab930b61 100644
--- a/xen/drivers/passthrough/vtd/intremap.c
+++ b/xen/drivers/passthrough/vtd/intremap.c
@@ -134,7 +134,7 @@ int iommu_supports_eim(void)
/* We MUST have a DRHD unit for each IOAPIC. */
for ( apic = 0; apic < nr_ioapics; apic++ )
- if ( !ioapic_to_iommu(IO_APIC_ID(apic)) )
+ if ( !ioapic_to_drhd(IO_APIC_ID(apic)) )
return 0;
if ( list_empty(&acpi_drhd_units) )