diff options
author | Dave Jiang <dave.jiang@intel.com> | 2021-12-08 10:01:27 -0700 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2021-12-13 11:10:41 +0530 |
commit | 8affd8a4b5ce356c8900cfb037674f3a4a11fbdb (patch) | |
tree | 84653da2e25d10966400b96bd205ec38f2dc1d50 /drivers/tee | |
parent | 80936d68665be88dc3bf60884a71f2694eb6b1f1 (diff) | |
download | linux-8affd8a4b5ce356c8900cfb037674f3a4a11fbdb.tar.bz2 |
dmaengine: idxd: fix missed completion on abort path
Ming reported that with the abort path of the descriptor submission, there
can be a window where a completed descriptor can be missed to be completed
by the irq completion thread:
CPU A CPU B
Submit (successful)
Submit (fail)
irq_process_work_list() // empty
llist_abort_desc()
// remove all descs from pending list
irq_process_pending_llist() // empty
exit idxd_wq_thread() with no processing
Add opportunistic descriptor completion in the abort path in order to
remove the missed completion.
Fixes: 6b4b87f2c31a ("dmaengine: idxd: fix submission race window")
Reported-by: Ming Li <ming4.li@intel.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/163898288714.443911.16084982766671976640.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/tee')
0 files changed, 0 insertions, 0 deletions