On Tue, Feb 26, 2019 at 08:25:41AM +0100, Heiner Kallweit wrote: > When debugging an issue I found implausible values in state->pause. > Reason in that state->pause isn't initialized and later only single > bits are changed. Also the struct itself isn't initialized in > phylink_resolve(). So better initialize state->pause.
mac_link_state() is expected to always set this, but this is safer. Maybe also set state->speed to SPEED_UNKNOWN, state->duplex to DUPLEX_UNKNOWN and state->an_complete to zero? > > v2: > - use right function name in subject > > Fixes: 9525ae83959b ("phylink: add phylink infrastructure") > Signed-off-by: Heiner Kallweit <hkallwe...@gmail.com> > --- > drivers/net/phy/phylink.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c > index 59d175a5b..a9954c205 100644 > --- a/drivers/net/phy/phylink.c > +++ b/drivers/net/phy/phylink.c > @@ -324,6 +324,7 @@ static int phylink_get_mac_state(struct phylink *pl, > struct phylink_link_state * > linkmode_zero(state->lp_advertising); > state->interface = pl->link_config.interface; > state->an_enabled = pl->link_config.an_enabled; > + state->pause = MLO_PAUSE_NONE; > state->link = 1; > > return pl->ops->mac_link_state(ndev, state); > -- > 2.20.1 > > -- RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ FTTC broadband for 0.8mile line in suburbia: sync at 12.1Mbps down 622kbps up According to speedtest.net: 11.9Mbps down 500kbps up