Messages in this thread Patch in this message | | | From | Jacob Pan <> | Subject | [PATCH v3 11/16] iommu/vt-d: use threaded irq for dmar_fault | Date | Fri, 17 Nov 2017 10:55:09 -0800 |
| |
Currently, dmar fault IRQ handler does nothing more than rate limited printk, no critical hardware handling need to be done in IRQ context. Convert it to threaded IRQ would allow fault processing that requires process context. e.g. find out offending device based on source ID in the fault rasons.
Signed-off-by: Jacob Pan <jacob.jun.pan@linux.intel.com> --- drivers/iommu/dmar.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/iommu/dmar.c b/drivers/iommu/dmar.c index f69f6ee..38ee91b 100644 --- a/drivers/iommu/dmar.c +++ b/drivers/iommu/dmar.c @@ -1749,7 +1749,8 @@ int dmar_set_interrupt(struct intel_iommu *iommu) return -EINVAL; } - ret = request_irq(irq, dmar_fault, IRQF_NO_THREAD, iommu->name, iommu); + ret = request_threaded_irq(irq, NULL, dmar_fault, + IRQF_ONESHOT, iommu->name, iommu); if (ret) pr_err("Can't request irq\n"); return ret; -- 2.7.4
| |