On Thu, Sep 05, 2019 at 07:46:18PM +0300, stef...@marvell.com wrote: > From: Stefan Chulski <stef...@marvell.com> > > Regarding to IEEE 802.3-2015 standard section 2 > 28B.3 Priority resolution - Table 28-3 - Pause resolution > > In case of Local device Pause=1 AsymDir=0, Link partner > Pause=1 AsymDir=1, Local device resolution should be enable PAUSE > transmit, disable PAUSE receive. > And in case of Local device Pause=1 AsymDir=1, Link partner > Pause=1 AsymDir=0, Local device resolution should be enable PAUSE > receive, disable PAUSE transmit. > > Signed-off-by: Stefan Chulski <stef...@marvell.com> > Reported-by: Shaul Ben-Mayor <sha...@marvell.com>
Good catch, thanks for the patch. Acked-by: Russell King <rmk+ker...@armlinux.org.uk> Fixes: 9525ae83959b ("phylink: add phylink infrastructure") > --- > drivers/net/phy/phylink.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c > index a45c5de..a5a57ca 100644 > --- a/drivers/net/phy/phylink.c > +++ b/drivers/net/phy/phylink.c > @@ -376,8 +376,8 @@ static void phylink_get_fixed_state(struct phylink *pl, > struct phylink_link_stat > * Local device Link partner > * Pause AsymDir Pause AsymDir Result > * 1 X 1 X TX+RX > - * 0 1 1 1 RX > - * 1 1 0 1 TX > + * 0 1 1 1 TX > + * 1 1 0 1 RX > */ > static void phylink_resolve_flow(struct phylink *pl, > struct phylink_link_state *state) > @@ -398,7 +398,7 @@ static void phylink_resolve_flow(struct phylink *pl, > new_pause = MLO_PAUSE_TX | MLO_PAUSE_RX; > else if (pause & MLO_PAUSE_ASYM) > new_pause = state->pause & MLO_PAUSE_SYM ? > - MLO_PAUSE_RX : MLO_PAUSE_TX; > + MLO_PAUSE_TX : MLO_PAUSE_RX; > } else { > new_pause = pl->link_config.pause & MLO_PAUSE_TXRX_MASK; > } > -- > 1.9.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