commit 86f8b1c01a0a537a73d2996615133be63cdf75db upstream

Prior to 1d27732f411d ("net: dsa: setup and teardown ports"), we would
not treat failures to set-up an user port as fatal, but after this
commit we would, which is a regression for some systems where interfaces
may be declared in the Device Tree, but the underlying hardware may not
be present (pluggable daughter cards for instance).

Fixes: 1d27732f411d ("net: dsa: setup and teardown ports")
Signed-off-by: Florian Fainelli <f.faine...@gmail.com>
Reviewed-by: Andrew Lunn <and...@lunn.ch>
Signed-off-by: David S. Miller <da...@davemloft.net>
---
 net/dsa/dsa2.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c
index 716d265ba8ca..0f7f38c29579 100644
--- a/net/dsa/dsa2.c
+++ b/net/dsa/dsa2.c
@@ -461,18 +461,12 @@ static int dsa_tree_setup_switches(struct dsa_switch_tree 
*dst)
 
                        err = dsa_port_setup(dp);
                        if (err)
-                               goto ports_teardown;
+                               continue;
                }
        }
 
        return 0;
 
-ports_teardown:
-       for (i = 0; i < port; i++)
-               dsa_port_teardown(&ds->ports[i]);
-
-       dsa_switch_teardown(ds);
-
 switch_teardown:
        for (i = 0; i < device; i++) {
                ds = dst->ds[i];
-- 
2.17.1

Reply via email to