Message ID | 1414399364-22308-2-git-send-email-matei.pavaluca@freescale.com |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
From: Matei Pavaluca <matei.pavaluca@freescale.com> Date: Mon, 27 Oct 2014 10:42:43 +0200 > From: Pavaluca Matei-B46610 <matei.pavaluca@freescale.com> > > Local flow control options needed in order to resolve the negotiation > are incorrectly calculated. > > Previously 'mii_advertise_flowctrl' was called to determine the local advertising > options, but these were determined based on FLOW_CTRL_RX/TX flags which are > never set through ethtool. > The patch simply translates from ethtool flow options to mii flow options. > > Signed-off-by: Pavaluca Matei <matei.pavaluca@freescale.com> Applied. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c index 2485b74..329efca 100644 --- a/drivers/net/ethernet/freescale/gianfar.c +++ b/drivers/net/ethernet/freescale/gianfar.c @@ -3373,7 +3373,11 @@ static u32 gfar_get_flowctrl_cfg(struct gfar_private *priv) if (phydev->asym_pause) rmt_adv |= LPA_PAUSE_ASYM; - lcl_adv = mii_advertise_flowctrl(phydev->advertising); + lcl_adv = 0; + if (phydev->advertising & ADVERTISED_Pause) + lcl_adv |= ADVERTISE_PAUSE_CAP; + if (phydev->advertising & ADVERTISED_Asym_Pause) + lcl_adv |= ADVERTISE_PAUSE_ASYM; flowctrl = mii_resolve_flowctrl_fdx(lcl_adv, rmt_adv); if (flowctrl & FLOW_CTRL_TX)