2020-06-12 20:30:14

by Aditya Pakki

[permalink] [raw]
Subject: [PATCH] rocker: fix incorrect error handling in dma_rings_init

In rocker_dma_rings_init, the goto blocks in case of errors
caused by the functions rocker_dma_cmd_ring_waits_alloc() and
rocker_dma_ring_create() are incorrect. The patch fixes the
order consistent with cleanup in rocker_dma_rings_fini().

Signed-off-by: Aditya Pakki <[email protected]>
---
drivers/net/ethernet/rocker/rocker_main.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/net/ethernet/rocker/rocker_main.c b/drivers/net/ethernet/rocker/rocker_main.c
index 7585cd2270ba..fc99e7118e49 100644
--- a/drivers/net/ethernet/rocker/rocker_main.c
+++ b/drivers/net/ethernet/rocker/rocker_main.c
@@ -647,10 +647,10 @@ static int rocker_dma_rings_init(struct rocker *rocker)
err_dma_event_ring_bufs_alloc:
rocker_dma_ring_destroy(rocker, &rocker->event_ring);
err_dma_event_ring_create:
+ rocker_dma_cmd_ring_waits_free(rocker);
+err_dma_cmd_ring_waits_alloc:
rocker_dma_ring_bufs_free(rocker, &rocker->cmd_ring,
PCI_DMA_BIDIRECTIONAL);
-err_dma_cmd_ring_waits_alloc:
- rocker_dma_cmd_ring_waits_free(rocker);
err_dma_cmd_ring_bufs_alloc:
rocker_dma_ring_destroy(rocker, &rocker->cmd_ring);
return err;
--
2.25.1


2020-06-15 20:41:05

by David Miller

[permalink] [raw]
Subject: Re: [PATCH] rocker: fix incorrect error handling in dma_rings_init

From: Aditya Pakki <[email protected]>
Date: Fri, 12 Jun 2020 15:27:55 -0500

> In rocker_dma_rings_init, the goto blocks in case of errors
> caused by the functions rocker_dma_cmd_ring_waits_alloc() and
> rocker_dma_ring_create() are incorrect. The patch fixes the
> order consistent with cleanup in rocker_dma_rings_fini().
>
> Signed-off-by: Aditya Pakki <[email protected]>

Applied, thanks.