[PATCH master] net: dsa: abort registration when master is unresolvable

Ahmad Fatoum a.fatoum at pengutronix.de
Wed Mar 15 07:35:22 PDT 2023


ds->edev_master is used in a lot places and if we can't populate,
because the Ethernet device wasn't found, we should abort instead of
crashing later on.

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 drivers/net/dsa.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/net/dsa.c b/drivers/net/dsa.c
index 793bbbb4f18f..6a3b829e15a4 100644
--- a/drivers/net/dsa.c
+++ b/drivers/net/dsa.c
@@ -400,8 +400,11 @@ static int dsa_switch_parse_ports_of(struct dsa_switch *ds,
 		}
 
 		master = of_parse_phandle(port, "ethernet", 0);
-		if (master)
-			dsa_switch_register_master(ds, port, master, reg);
+		if (master) {
+			ret = dsa_switch_register_master(ds, port, master, reg);
+			if (ret)
+				return ret;
+		}
 	}
 
 	/* Now we can register regular switch ports  */
-- 
2.30.2




More information about the barebox mailing list