diff options
author | Lu Baolu <baolu.lu@linux.intel.com> | 2017-11-03 17:51:33 +0100 |
---|---|---|
committer | Alex Williamson <alex.williamson@redhat.com> | 2017-11-03 17:51:33 +0100 |
commit | 973b546451fdf11e518cc96d1b137af893a38db5 (patch) | |
tree | cf60bbbf85f1a4dd632669c60119ea382a8decdc /drivers/iommu/dmar.c | |
parent | iommu/vt-d: Missing checks for pasid tables if allocation fails (diff) | |
download | linux-973b546451fdf11e518cc96d1b137af893a38db5.tar.xz linux-973b546451fdf11e518cc96d1b137af893a38db5.zip |
iommu/vt-d: Clear Page Request Overflow fault bit
Currently Page Request Overflow bit in IOMMU Fault Status register
is not cleared. Not clearing this bit would mean that any future
page-request is going to be automatically dropped by IOMMU.
Suggested-by: Ashok Raj <ashok.raj@intel.com>
Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'drivers/iommu/dmar.c')
-rw-r--r-- | drivers/iommu/dmar.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c index 1ea7cd537873..9a7ffd13c7f0 100644 --- a/drivers/iommu/dmar.c +++ b/drivers/iommu/dmar.c @@ -1679,7 +1679,8 @@ irqreturn_t dmar_fault(int irq, void *dev_id) raw_spin_lock_irqsave(&iommu->register_lock, flag); } - writel(DMA_FSTS_PFO | DMA_FSTS_PPF, iommu->reg + DMAR_FSTS_REG); + writel(DMA_FSTS_PFO | DMA_FSTS_PPF | DMA_FSTS_PRO, + iommu->reg + DMAR_FSTS_REG); unlock_exit: raw_spin_unlock_irqrestore(&iommu->register_lock, flag); |