net: dsa: sja1105: Don't error out on disabled ports with no phy-mode
authorVladimir Oltean <vladimir.oltean@nxp.com>
Thu, 16 Jan 2020 18:43:27 +0000 (20:43 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 23 Jan 2020 07:22:52 +0000 (08:22 +0100)
[ Upstream commit 27afe0d34e9121a3d61cc0af9b17c2542dadde24 ]

The sja1105_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: 8aa9ebccae87 ("net: dsa: Introduce driver for NXP SJA1105 5-port L2 switch")
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/dsa/sja1105/sja1105_main.c

index 7763221..3b51e87 100644 (file)
@@ -619,7 +619,7 @@ static int sja1105_parse_ports_node(struct sja1105_private *priv,
        struct device *dev = &priv->spidev->dev;
        struct device_node *child;
 
-       for_each_child_of_node(ports_node, child) {
+       for_each_available_child_of_node(ports_node, child) {
                struct device_node *phy_node;
                int phy_mode;
                u32 index;