vt-d: Minor fixing of interrupt remapping

When ir_ctrl->iremap_index == -1, it means there is no remap
entry. So it needn't to convert from remap format to normal ioapic
format.

Signed-off-by: Weidong Han <weidong.han@intel.com>
This commit is contained in:
Keir Fraser committed 2008-06-27 14:11:41 +01:00
1 parent c8af9ce961
commit 65daf3ef4e
1 file changed
+3 -2
+3 -2
View File
@@ -52,7 +52,7 @@ static void remap_entry_to_ioapic_rte(
unsigned long flags;
struct ir_ctrl *ir_ctrl = iommu_ir_ctrl(iommu);
if ( ir_ctrl == NULL || ir_ctrl->iremap_index < 0 )
if ( ir_ctrl == NULL )
{
dprintk(XENLOG_ERR VTDPREFIX,
"remap_entry_to_ioapic_rte: ir_ctl is not ready\n");
@@ -170,7 +170,8 @@ unsigned int io_apic_read_remap_rte(
struct iommu *iommu = ioapic_to_iommu(mp_ioapics[apic].mpc_apicid);
struct ir_ctrl *ir_ctrl = iommu_ir_ctrl(iommu);
if ( !iommu || !ir_ctrl || ir_ctrl->iremap_maddr == 0 )
if ( !iommu || !ir_ctrl || ir_ctrl->iremap_maddr == 0 ||
ir_ctrl->iremap_index == -1 )
{
*IO_APIC_BASE(apic) = reg;
return *(IO_APIC_BASE(apic)+4);
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.