dmaengine: idxd: fix misc interrupt completion
authorDave Jiang <dave.jiang@intel.com>
Fri, 15 Jan 2021 21:52:33 +0000 (14:52 -0700)
committerVinod Koul <vkoul@kernel.org>
Sun, 17 Jan 2021 06:49:25 +0000 (12:19 +0530)
commitf5cc9ace24fbdf41b4814effbb2f9bad7046e988
tree922ce412a332203db4ae8a38c9706137cb8844aa
parent16e19e11228ba660d9e322035635e7dcf160d5c2
dmaengine: idxd: fix misc interrupt completion

Nikhil reported the misc interrupt handler can sometimes miss handling
the command interrupt when an error interrupt happens near the same time.
Have the irq handling thread continue to process the misc interrupts until
all interrupts are processed. This is a low usage interrupt and is not
expected to handle high volume traffic. Therefore there is no concern of
this thread running for a long time.

Fixes: 0d5c10b4c84d ("dmaengine: idxd: add work queue drain support")
Reported-by: Nikhil Rao <nikhil.rao@intel.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/161074755329.2183844.13295528344116907983.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/idxd/irq.c