dmaengine: idxd: move out percpu_ref_exit() to ensure it's outside submission
authorDave Jiang <dave.jiang@intel.com>
Wed, 29 Sep 2021 19:15:38 +0000 (12:15 -0700)
committerVinod Koul <vkoul@kernel.org>
Fri, 1 Oct 2021 11:58:48 +0000 (17:28 +0530)
commit85f604af9c83a4656b1d07bec73298c3ba7d7c1e
tree3294dfb0c3776ffd509de7dcb3b9eb4e8143f159
parentae8f13f0a6fdd7562e420b756daa9b807e05f775
dmaengine: idxd: move out percpu_ref_exit() to ensure it's outside submission

percpu_ref_tryget_live() is safe to call as long as ref is between init and
exit according to the function comment. Move percpu_ref_exit() so it is
called after the dma channel is no longer valid to ensure this holds true.

Fixes: 93a40a6d7428 ("dmaengine: idxd: add percpu_ref to descriptor submission path")
Suggested-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Dave Jiang <dave.jiang@intel.com>
Link: https://lore.kernel.org/r/163294293832.914350.10326422026738506152.stgit@djiang5-desk3.ch.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/idxd/device.c
drivers/dma/idxd/dma.c