Commit 49fd838
dmaengine: ti: k3-udma: Use cap_mask directly from dma_device structure instead of a local copy
commit 8ca9590 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: 25dcb5d ("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>1 parent 99df1ed commit 49fd838
1 file changed
Lines changed: 1 addition & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4253 | 4253 | | |
4254 | 4254 | | |
4255 | 4255 | | |
4256 | | - | |
4257 | 4256 | | |
4258 | 4257 | | |
4259 | 4258 | | |
| |||
4285 | 4284 | | |
4286 | 4285 | | |
4287 | 4286 | | |
4288 | | - | |
| 4287 | + | |
4289 | 4288 | | |
4290 | 4289 | | |
4291 | 4290 | | |
| |||
0 commit comments