x86, dmar: start with sane state while enabling dma and interrupt-remapping
Impact: cleanup/sanitization Start from a sane state while enabling dma and interrupt-remapping, by clearing the previous recorded faults and disabling previously enabled queued invalidation and interrupt-remapping. Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com> Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
This commit is contained in:

committed by
H. Peter Anvin

parent
eba67e5da6
commit
1531a6a6b8
@@ -982,7 +982,7 @@ static int dmar_fault_do_one(struct intel_iommu *iommu, int type,
|
||||
}
|
||||
|
||||
#define PRIMARY_FAULT_REG_LEN (16)
|
||||
static irqreturn_t dmar_fault(int irq, void *dev_id)
|
||||
irqreturn_t dmar_fault(int irq, void *dev_id)
|
||||
{
|
||||
struct intel_iommu *iommu = dev_id;
|
||||
int reg, fault_index;
|
||||
@@ -1074,9 +1074,6 @@ int dmar_set_interrupt(struct intel_iommu *iommu)
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Force fault register is cleared */
|
||||
dmar_fault(irq, iommu);
|
||||
|
||||
ret = request_irq(irq, dmar_fault, 0, iommu->name, iommu);
|
||||
if (ret)
|
||||
printk(KERN_ERR "IOMMU: can't request irq\n");
|
||||
|
Reference in New Issue
Block a user