Thread (2 messages) 2 messages, 2 authors, 2025-12-10
STALE231d

[PATCH] fjes: Add missing iounmap in fjes_hw_init()

From: Haoxiang Li <hidden>
Date: 2025-12-10 02:33:05
Also in: lkml, stable
Subsystem: networking drivers, the rest · Maintainers: Andrew Lunn, "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, Linus Torvalds

In error paths, add fjes_hw_iounmap() to release the
resource acquired by fjes_hw_iomap().

Fixes: 8cdc3f6c5d22 ("fjes: Hardware initialization routine")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <redacted>
---
 drivers/net/fjes/fjes_hw.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/net/fjes/fjes_hw.c b/drivers/net/fjes/fjes_hw.c
index b9b5554ea862..a2e89ffa6f70 100644
--- a/drivers/net/fjes/fjes_hw.c
+++ b/drivers/net/fjes/fjes_hw.c
@@ -333,8 +333,10 @@ int fjes_hw_init(struct fjes_hw *hw)
 		return -EIO;
 
 	ret = fjes_hw_reset(hw);
-	if (ret)
+	if (ret) {
+		fjes_hw_iounmap(hw);
 		return ret;
+	}
 
 	fjes_hw_set_irqmask(hw, REG_ICTL_MASK_ALL, true);
 
@@ -347,8 +349,10 @@ int fjes_hw_init(struct fjes_hw *hw)
 	hw->max_epid = fjes_hw_get_max_epid(hw);
 	hw->my_epid = fjes_hw_get_my_epid(hw);
 
-	if ((hw->max_epid == 0) || (hw->my_epid >= hw->max_epid))
+	if ((hw->max_epid == 0) || (hw->my_epid >= hw->max_epid)) {
+		fjes_hw_iounmap(hw);
 		return -ENXIO;
+	}
 
 	ret = fjes_hw_setup(hw);
 
-- 
2.25.1
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help