[PATCH] IOMUX: Fix stopping unused dropped consoles

Stephan Gerhold stephan.gerhold at linaro.org
Mon Apr 7 13:10:00 CEST 2025


iomux_match_device() returns -ENOENT instead of the end index, which means
console_stop() is never called at the moment for unused consoles.

This prevents e.g. f_acm from releasing the USB gadget interface when
removing it from stdio/stderr/stdin.

Fixes: b672c1619bb9 ("IOMUX: Split out iomux_match_device() helper")
Signed-off-by: Stephan Gerhold <stephan.gerhold at linaro.org>
---
 common/iomux.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/common/iomux.c b/common/iomux.c
index 1224c15eb718b5e78f625f57274000114d85c7de..4844df51fbec645f54d14f31e34ed717da056667 100644
--- a/common/iomux.c
+++ b/common/iomux.c
@@ -131,7 +131,7 @@ int iomux_doenv(const int console, const char *arg)
 	/* Stop dropped consoles */
 	for (i = 0; i < repeat; i++) {
 		j = iomux_match_device(cons_set, cs_idx, old_set[i]);
-		if (j == cs_idx)
+		if (j == -ENOENT)
 			console_stop(console, old_set[i]);
 	}
 

---
base-commit: 0efe8ea57fc7a1a6fc5f64fb3cf6bc4a1a4fc219
change-id: 20250407-iomux-stop-a5aabb6a4ec1

Best regards,
-- 
Stephan Gerhold <stephan.gerhold at linaro.org>



More information about the U-Boot mailing list