dmaengine: ti: k3-udma: Set bchan to NULL if a channel request fail
authorKishon Vijay Abraham I <kishon@ti.com>
Sun, 31 Oct 2021 03:24:10 +0000 (08:54 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Nov 2021 18:17:16 +0000 (19:17 +0100)
commit68ae6ae1431f0fb6af514b97aec0792e61c55d34
tree2ee0355bff492e3b9d621612ec3b8ef31cec5f44
parent1dd578e985604d317756349a8f2b71959aeea324
dmaengine: ti: k3-udma: Set bchan to NULL if a channel request fail

commit 5c6c6d60e4b489308ae4da8424c869f7cc53cd12 upstream.

bcdma_get_*() checks if bchan is already allocated by checking if it
has a NON NULL value. For the error cases, bchan will have error value
and bcdma_get_*() considers this as already allocated (PASS) since the
error values are NON NULL. This results in NULL pointer dereference
error while de-referencing bchan.

Reset the value of bchan to NULL if a channel request fails.

CC: stable@vger.kernel.org
Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Link: https://lore.kernel.org/r/20211031032411.27235-2-kishon@ti.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/dma/ti/k3-udma.c