mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-08-10 01:06:59 +02:00
dma: ti: k3-udma: Fix error handling for setup_resources() in udma_probe()
In udma_probe() the return value of setup_resources() is stored in the
u32 "ch_count" member of "struct udma_dev", due to which any negative
return value which indicates an error is masked.
Fix this by storing the return value of setup_resources() in the already
declared integer variable "ret", followed by assigning it to the "ch_count"
member of "struct udma_dev" in case of no error.
While at it, change the "return ret" at the end of udma_probe() to a
"return 0", to explicitly indicate that probe was successful.
Fixes: a8837cf438
("dma: ti: k3-udma: Query DMA channels allocated from Resource Manager")
Signed-off-by: Siddharth Vadapalli <s-vadapalli@ti.com>
Reviewed-by: Dan Carpenter <dan.carpenter@linaro.org>
This commit is contained in:
parent
f05add3822
commit
333031011c
@ -1770,9 +1770,11 @@ static int udma_probe(struct udevice *dev)
|
|||||||
return PTR_ERR(ud->ringacc);
|
return PTR_ERR(ud->ringacc);
|
||||||
|
|
||||||
ud->dev = dev;
|
ud->dev = dev;
|
||||||
ud->ch_count = setup_resources(ud);
|
ret = setup_resources(ud);
|
||||||
if (ud->ch_count <= 0)
|
if (ret < 0)
|
||||||
return ud->ch_count;
|
return ret;
|
||||||
|
|
||||||
|
ud->ch_count = ret;
|
||||||
|
|
||||||
for (i = 0; i < ud->bchan_cnt; i++) {
|
for (i = 0; i < ud->bchan_cnt; i++) {
|
||||||
struct udma_bchan *bchan = &ud->bchans[i];
|
struct udma_bchan *bchan = &ud->bchans[i];
|
||||||
@ -1831,7 +1833,7 @@ static int udma_probe(struct udevice *dev)
|
|||||||
|
|
||||||
uc_priv->supported = DMA_SUPPORTS_MEM_TO_MEM | DMA_SUPPORTS_MEM_TO_DEV;
|
uc_priv->supported = DMA_SUPPORTS_MEM_TO_MEM | DMA_SUPPORTS_MEM_TO_DEV;
|
||||||
|
|
||||||
return ret;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int udma_push_to_ring(struct k3_nav_ring *ring, void *elem)
|
static int udma_push_to_ring(struct k3_nav_ring *ring, void *elem)
|
||||||
|
Loading…
Reference in New Issue
Block a user