提交 b67dcc70 编写于 作者: M Minghao Chi 提交者: Xiaochen Shen

dmaengine: idxd: Remove unnecessary synchronize_irq() before free_irq()

mainline inclusion
from mainline-v5.19
commit 411dccf9
category: feature
bugzilla: https://gitee.com/openeuler/intel-kernel/issues/I596WO
CVE: NA

Intel-SIG: commit 411dccf9 dmaengine: idxd: Remove unnecessary synchronize_irq() before free_irq().
Incremental backporting patches for DSA/IAA on Intel Xeon platform.

--------------------------------

Calling synchronize_irq() right before free_irq() is quite useless. On one
hand the IRQ can easily fire again before free_irq() is entered, on the
other hand free_irq() itself calls synchronize_irq() internally (in a race
condition free way), before any state associated with the IRQ is freed.
Signed-off-by: NMinghao Chi <chi.minghao@zte.com.cn>
Link: https://lore.kernel.org/r/20220516115412.1651772-1-chi.minghao@zte.com.cnAcked-by: NDave Jiang <dave.jiang@intel.com>
Signed-off-by: NVinod Koul <vkoul@kernel.org>
Signed-off-by: NXiaochen Shen <xiaochen.shen@intel.com>
上级 86a8ae01
...@@ -1182,7 +1182,6 @@ void idxd_wq_free_irq(struct idxd_wq *wq) ...@@ -1182,7 +1182,6 @@ void idxd_wq_free_irq(struct idxd_wq *wq)
if (wq->type != IDXD_WQT_KERNEL) if (wq->type != IDXD_WQT_KERNEL)
return; return;
synchronize_irq(ie->vector);
free_irq(ie->vector, ie); free_irq(ie->vector, ie);
idxd_flush_pending_descs(ie); idxd_flush_pending_descs(ie);
if (idxd->request_int_handles) if (idxd->request_int_handles)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册