Message ID | 20200301235502.17872-1-hauke@hauke-m.de |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | phylink: Improve error message when validate failed | expand |
On Mon, Mar 02, 2020 at 12:55:02AM +0100, Hauke Mehrtens wrote: > This should improve the error message when the PHY validate in the MAC > driver failed. I ran into this problem multiple times that I put wrong > interface values into the device tree and was searching why it is > failing with -22 (-EINVAL). This should make it easier to spot the > problem. Hi, This will do as a stop-gap measure to make debugging of that easier, but in the longer run I want MAC drivers to provide phylink with a bitmap of the PHY_INTERFACE_MODE_*s they support. So, Acked-by: Russell King <rmk+kernel@armlinux.org.uk> Thanks. > > Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> > --- > drivers/net/phy/phylink.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c > index b4367fab7899..5347275215be 100644 > --- a/drivers/net/phy/phylink.c > +++ b/drivers/net/phy/phylink.c > @@ -797,8 +797,14 @@ static int phylink_bringup_phy(struct phylink *pl, struct phy_device *phy, > config.interface = interface; > > ret = phylink_validate(pl, supported, &config); > - if (ret) > + if (ret) { > + phylink_warn(pl, "validation of %s with support %*pb and advertisement %*pb failed: %d\n", > + phy_modes(config.interface), > + __ETHTOOL_LINK_MODE_MASK_NBITS, phy->supported, > + __ETHTOOL_LINK_MODE_MASK_NBITS, config.advertising, > + ret); > return ret; > + } > > phy->phylink = pl; > phy->phy_link_change = phylink_phy_change; > -- > 2.20.1 > >
From: Hauke Mehrtens <hauke@hauke-m.de> Date: Mon, 2 Mar 2020 00:55:02 +0100 > This should improve the error message when the PHY validate in the MAC > driver failed. I ran into this problem multiple times that I put wrong > interface values into the device tree and was searching why it is > failing with -22 (-EINVAL). This should make it easier to spot the > problem. > > Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Applied, thank you.
diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c index b4367fab7899..5347275215be 100644 --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c @@ -797,8 +797,14 @@ static int phylink_bringup_phy(struct phylink *pl, struct phy_device *phy, config.interface = interface; ret = phylink_validate(pl, supported, &config); - if (ret) + if (ret) { + phylink_warn(pl, "validation of %s with support %*pb and advertisement %*pb failed: %d\n", + phy_modes(config.interface), + __ETHTOOL_LINK_MODE_MASK_NBITS, phy->supported, + __ETHTOOL_LINK_MODE_MASK_NBITS, config.advertising, + ret); return ret; + } phy->phylink = pl; phy->phy_link_change = phylink_phy_change;
This should improve the error message when the PHY validate in the MAC driver failed. I ran into this problem multiple times that I put wrong interface values into the device tree and was searching why it is failing with -22 (-EINVAL). This should make it easier to spot the problem. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> --- drivers/net/phy/phylink.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-)