net: dsa: felix: Don't error out on disabled ports with no phy-mode
authorVladimir Oltean <vladimir.oltean@nxp.com>
Thu, 16 Jan 2020 18:41:53 +0000 (20:41 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 17 Jan 2020 12:21:35 +0000 (13:21 +0100)
The felix_parse_ports_node function was tested only on device trees
where all ports were enabled. Fix this check so that the driver
continues to probe only with the ports where status is not "disabled",
as expected.

Fixes: bdeced75b13f ("net: dsa: felix: Add PCS operations for PHYLINK")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/ocelot/felix.c

index feccb6201660add2e3ff843d3c6e9179e4322340..269cc6953d47abd562cd75632458af0472b4adb4 100644 (file)
@@ -323,7 +323,7 @@ static int felix_parse_ports_node(struct felix *felix,
        struct device *dev = felix->ocelot.dev;
        struct device_node *child;
 
-       for_each_child_of_node(ports_node, child) {
+       for_each_available_child_of_node(ports_node, child) {
                phy_interface_t phy_mode;
                u32 port;
                int err;