]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
dmaengine: ti: k3-udma: Use cap_mask directly from dma_device structure instead of...
authorYemike Abhilash Chandra <y-abhilashchandra@ti.com>
Thu, 17 Apr 2025 07:55:21 +0000 (13:25 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 22 May 2025 12:08:26 +0000 (14:08 +0200)
commite7320147cf6184ecb88cad9b36c8a2d0f9164c43
treee57e2ebd036e82ec2c000e9b763c440ca880e316
parent0ea0433f822ed0549715f7044c9cd1cf132ff7fa
dmaengine: ti: k3-udma: Use cap_mask directly from dma_device structure instead of a local copy

commit 8ca9590c39b69b55a8de63d2b21b0d44f523b43a upstream.

Currently, a local dma_cap_mask_t variable is used to store device
cap_mask within udma_of_xlate(). However, the DMA_PRIVATE flag in
the device cap_mask can get cleared when the last channel is released.
This can happen right after storing the cap_mask locally in
udma_of_xlate(), and subsequent dma_request_channel() can fail due to
mismatch in the cap_mask. Fix this by removing the local dma_cap_mask_t
variable and directly using the one from the dma_device structure.

Fixes: 25dcb5dd7b7c ("dmaengine: ti: New driver for K3 UDMA")
Cc: stable@vger.kernel.org
Signed-off-by: Vaishnav Achath <vaishnav.a@ti.com>
Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Reviewed-by: Udit Kumar <u-kumar1@ti.com>
Signed-off-by: Yemike Abhilash Chandra <y-abhilashchandra@ti.com>
Link: https://lore.kernel.org/r/20250417075521.623651-1-y-abhilashchandra@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