diff options
author | Pavaluca Matei-B46610 <matei.pavaluca@freescale.com> | 2014-10-22 11:23:01 (GMT) |
---|---|---|
committer | Matthew Weigel <Matthew.Weigel@freescale.com> | 2014-12-11 18:40:12 (GMT) |
commit | 8477ee44fe0616d12d04f37b72ad3e98e366136b (patch) | |
tree | 80968896d6586994cd06010c897daed9f7bda38c /drivers/net/ethernet/freescale/gianfar.c | |
parent | c5c2e0581f429478e19639687dc65e852b4e65d0 (diff) | |
download | linux-fsl-qoriq-8477ee44fe0616d12d04f37b72ad3e98e366136b.tar.xz |
Fix the way the local advertising flow options are determined
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.
Change-Id: I3ed7801eecaa6b5b8501ba1c8e860c92f959d559
Signed-off-by: Pavaluca Matei <matei.pavaluca@freescale.com>
Reviewed-on: http://git.am.freescale.net:8181/23137
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale/gianfar.c')
-rw-r--r-- | drivers/net/ethernet/freescale/gianfar.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c index 3088be4..89768a0 100644 --- a/drivers/net/ethernet/freescale/gianfar.c +++ b/drivers/net/ethernet/freescale/gianfar.c @@ -3628,7 +3628,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) |