diff options
author | Jakub Kicinski <kuba@kernel.org> | 2023-12-14 18:55:40 -0800 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2023-12-14 18:55:40 -0800 |
commit | 0d2f3b87d5017ffe8d6f2c6d8339a53fe871cf97 (patch) | |
tree | 7b5786fcc83a53d84185f21795ec90e85362ba00 | |
parent | b3cb7a830a24527877b0bc900b9bd74a96aea928 (diff) | |
parent | 10ad63da5c036b2fd61600b43217cfa9b4d66f52 (diff) | |
download | linux-0d2f3b87d5017ffe8d6f2c6d8339a53fe871cf97.tar.gz linux-0d2f3b87d5017ffe8d6f2c6d8339a53fe871cf97.tar.bz2 linux-0d2f3b87d5017ffe8d6f2c6d8339a53fe871cf97.zip |
Merge branch 'mdio-mux-cleanup'
Vladimir Oltean says:
====================
MDIO mux cleanup
This small patch set resolves some technical debt in the MDIO mux driver
which was discovered during the investigation for commit 1f9f2143f24e
("net: mdio-mux: fix C45 access returning -EIO after API change").
The patches have been sitting for 2 months in the NXP SDK kernel and
haven't caused issues.
====================
Link: https://lore.kernel.org/r/20231213152712.320842-1-vladimir.oltean@nxp.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
-rw-r--r-- | drivers/net/mdio/mdio-mux.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/net/mdio/mdio-mux.c b/drivers/net/mdio/mdio-mux.c index bef4cce71287..fe0e46bd7964 100644 --- a/drivers/net/mdio/mdio-mux.c +++ b/drivers/net/mdio/mdio-mux.c @@ -190,8 +190,8 @@ int mdio_mux_init(struct device *dev, r = of_property_read_u32(child_bus_node, "reg", &v); if (r) { dev_err(dev, - "Error: Failed to find reg for child %pOF\n", - child_bus_node); + "Error: Failed to find reg for child %pOF: %pe\n", + child_bus_node, ERR_PTR(r)); continue; } @@ -214,8 +214,10 @@ int mdio_mux_init(struct device *dev, snprintf(cb->mii_bus->id, MII_BUS_ID_SIZE, "%s-%x.%x", cb->mii_bus->name, pb->parent_id, v); cb->mii_bus->parent = dev; - cb->mii_bus->read = mdio_mux_read; - cb->mii_bus->write = mdio_mux_write; + if (parent_bus->read) + cb->mii_bus->read = mdio_mux_read; + if (parent_bus->write) + cb->mii_bus->write = mdio_mux_write; if (parent_bus->read_c45) cb->mii_bus->read_c45 = mdio_mux_read_c45; if (parent_bus->write_c45) @@ -229,8 +231,8 @@ int mdio_mux_init(struct device *dev, } devm_kfree(dev, cb); dev_err(dev, - "Error: Failed to register MDIO bus for child %pOF\n", - child_bus_node); + "Error: Failed to register MDIO bus for child %pOF: %pe\n", + child_bus_node, ERR_PTR(r)); } else { cb->next = pb->children; pb->children = cb; |