Netdev Archive on lore.kernel.org help / color / mirror / Atom feed
From: Vladimir Oltean <vladimir.oltean@nxp.com> To: netdev@vger.kernel.org Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>, "Rafael J. Wysocki" <rafael@kernel.org>, "Andrew Lunn" <andrew@lunn.ch>, "Heiner Kallweit" <hkallweit1@gmail.com>, "Russell King" <linux@armlinux.org.uk>, "David S. Miller" <davem@davemloft.net>, "Jakub Kicinski" <kuba@kernel.org>, "Vivien Didelot" <vivien.didelot@gmail.com>, "Florian Fainelli" <f.fainelli@gmail.com>, "Vladimir Oltean" <olteanv@gmail.com>, linux-kernel@vger.kernel.org, "Linus Walleij" <linus.walleij@linaro.org>, "Alvin Šipraga" <alsi@bang-olufsen.dk>, "ACPI Devel Maling List" <linux-acpi@vger.kernel.org>, kernel-team <kernel-team@android.com>, "Len Brown" <lenb@kernel.org> Subject: [RFC PATCH net-next 3/3] net: dsa: allow the phy_connect() call to return -EPROBE_DEFER Date: Thu, 2 Sep 2021 01:50:53 +0300 [thread overview] Message-ID: <20210901225053.1205571-4-vladimir.oltean@nxp.com> (raw) In-Reply-To: <20210901225053.1205571-1-vladimir.oltean@nxp.com> Currently DSA ignores any errors coming from dsa_port_setup(), and this includes: dsa_port_setup -> dsa_slave_create -> dsa_slave_phy_setup -> phylink_of_phy_connect -> ... -> phy_attach_direct This is done such that PHYs present on optional riser cards which are missing do not cause the entire switch probing to fail. Now that phy_attach_direct tries harder to probe the specific PHY driver instead of genphy, it can actually return -EPROBE_DEFER. It makes sense to treat this error separately, and not just give up. Trigger the normal error path, unwind the setup done so far, and come back later. Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com> --- net/dsa/dsa2.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index e78901d33a10..282bdebac835 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -912,6 +912,8 @@ static int dsa_tree_setup_switches(struct dsa_switch_tree *dst) list_for_each_entry(dp, &dst->ports, list) { err = dsa_port_setup(dp); + if (err == -EPROBE_DEFER) + goto teardown; if (err) { dsa_port_devlink_teardown(dp); dp->type = DSA_PORT_TYPE_UNUSED; -- 2.25.1
next prev parent reply other threads:[~2021-09-01 22:51 UTC|newest] Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-01 22:50 [RFC PATCH net-next 0/3] Make the PHY library stop being so greedy when binding the generic PHY driver Vladimir Oltean 2021-09-01 22:50 ` [RFC PATCH net-next 1/3] net: phy: don't bind genphy in phy_attach_direct if the specific driver defers probe Vladimir Oltean 2021-09-02 5:43 ` Greg Kroah-Hartman 2021-09-02 10:11 ` Vladimir Oltean 2021-09-02 10:37 ` Greg Kroah-Hartman 2021-09-02 11:17 ` Vladimir Oltean 2021-09-02 14:37 ` Rafael J. Wysocki 2021-09-02 18:50 ` Russell King (Oracle) 2021-09-02 19:23 ` Vladimir Oltean 2021-09-02 19:51 ` Andrew Lunn 2021-09-02 20:33 ` Florian Fainelli 2021-09-02 21:33 ` Russell King (Oracle) 2021-09-02 21:39 ` Vladimir Oltean 2021-09-02 22:24 ` Russell King (Oracle) 2021-09-02 22:45 ` Vladimir Oltean 2021-09-02 23:02 ` Andrew Lunn 2021-09-02 23:26 ` Vladimir Oltean 2021-09-03 0:04 ` Russell King (Oracle) 2021-09-03 20:48 ` Vladimir Oltean 2021-09-03 22:06 ` Russell King (Oracle) 2021-09-04 21:59 ` Vladimir Oltean 2021-09-04 23:25 ` Russell King (Oracle) 2021-09-05 0:41 ` Vladimir Oltean 2021-09-03 9:27 ` Ioana Ciornei 2021-09-01 22:50 ` [RFC PATCH net-next 2/3] net: dsa: destroy the phylink instance on any error in dsa_slave_phy_setup Vladimir Oltean 2021-09-02 12:25 ` Russell King (Oracle) 2021-09-02 23:21 ` Florian Fainelli 2021-09-01 22:50 ` Vladimir Oltean [this message] 2021-09-02 12:19 ` [RFC PATCH net-next 0/3] Make the PHY library stop being so greedy when binding the generic PHY driver Russell King (Oracle) 2021-09-02 12:35 ` Vladimir Oltean 2021-09-02 12:59 ` Vladimir Oltean 2021-09-02 13:26 ` Russell King (Oracle) 2021-09-02 15:23 ` Vladimir Oltean 2021-09-02 16:31 ` Russell King (Oracle) 2021-09-02 17:10 ` Vladimir Oltean 2021-09-02 17:50 ` Russell King (Oracle) 2021-09-02 19:05 ` Vladimir Oltean 2021-09-02 20:03 ` Russell King (Oracle) 2021-09-02 20:21 ` Vladimir Oltean 2021-09-02 20:29 ` Russell King (Oracle) 2021-09-03 16:22 ` Vladimir Oltean 2021-09-03 17:21 ` Andrew Lunn 2021-09-03 18:58 ` Russell King (Oracle) 2021-09-03 19:56 ` Andrew Lunn 2021-09-03 20:08 ` Russell King (Oracle) 2021-09-03 18:54 ` Russell King (Oracle) 2021-09-03 20:11 ` Vladimir Oltean 2021-09-02 20:07 ` Andrew Lunn 2021-09-02 20:32 ` Vladimir Oltean 2021-09-02 21:39 ` Russell King (Oracle) 2021-09-02 22:05 ` Vladimir Oltean 2021-09-02 23:29 ` Saravana Kannan
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210901225053.1205571-4-vladimir.oltean@nxp.com \ --to=vladimir.oltean@nxp.com \ --cc=alsi@bang-olufsen.dk \ --cc=andrew@lunn.ch \ --cc=davem@davemloft.net \ --cc=f.fainelli@gmail.com \ --cc=gregkh@linuxfoundation.org \ --cc=hkallweit1@gmail.com \ --cc=kernel-team@android.com \ --cc=kuba@kernel.org \ --cc=lenb@kernel.org \ --cc=linus.walleij@linaro.org \ --cc=linux-acpi@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux@armlinux.org.uk \ --cc=netdev@vger.kernel.org \ --cc=olteanv@gmail.com \ --cc=rafael@kernel.org \ --cc=vivien.didelot@gmail.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).