diff options
author | John Stultz <john.stultz@linaro.org> | 2019-12-18 22:09:06 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-01-17 21:45:54 +0300 |
commit | ed4e771283ff1f04e9f409ff4485ad0430c160b9 (patch) | |
tree | c191fb13051be2210fa796551014453ab5c589ba /drivers/dma/ioat/dma.c | |
parent | babf91acca033201ce29fdb2914ea1ee64c186e2 (diff) | |
download | linux-ed4e771283ff1f04e9f409ff4485ad0430c160b9.tar.xz |
dmaengine: k3dma: Avoid null pointer traversal
[ Upstream commit 2f42e05b942fe2fbfb9bbc6e34e1dd8c3ce4f3a4 ]
In some cases we seem to submit two transactions in a row, which
causes us to lose track of the first. If we then cancel the
request, we may still get an interrupt, which traverses a null
ds_run value.
So try to avoid starting a new transaction if the ds_run value
is set.
While this patch avoids the null pointer crash, I've had some
reports of the k3dma driver still getting confused, which
suggests the ds_run/ds_done value handling still isn't quite
right. However, I've not run into an issue recently with it
so I think this patch is worth pushing upstream to avoid the
crash.
Signed-off-by: John Stultz <john.stultz@linaro.org>
[add ss tag]
Link: https://lore.kernel.org/r/20191218190906.6641-1-john.stultz@linaro.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/dma/ioat/dma.c')
0 files changed, 0 insertions, 0 deletions