[PATCH] net: mv88e6xxx: add missing SMI address init

Marek Mojík marek.mojik at nic.cz
Wed Nov 22 16:03:07 CET 2023


Driver does not currently initialize the smi_addr field, but instead keeps
the default value. This leads to issues on systems with different hardware
configuration. We can fix this problem by reading the SMI address from
device tree.

Signed-off-by: Marek Mojík <marek.mojik at nic.cz>
---
 drivers/net/mv88e6xxx.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/net/mv88e6xxx.c b/drivers/net/mv88e6xxx.c
index c073f81e72..4636dbf156 100644
--- a/drivers/net/mv88e6xxx.c
+++ b/drivers/net/mv88e6xxx.c
@@ -753,6 +753,12 @@ static int mv88e6xxx_probe(struct udevice *dev)
 		return -ENODEV;
 	}
 
+	priv->smi_addr = dev_read_addr(dev);
+	if (priv->smi_addr == FDT_ADDR_T_NONE) {
+		dev_err(dev, "Invalid or missing SMI address\n");
+		return -EINVAL;
+	}
+
 	/* probe internal mdio bus */
 	ret = mv88e6xxx_probe_mdio(dev);
 	if (ret)
-- 
2.42.1



More information about the U-Boot mailing list