aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/mdio.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/mdio.c')
-rw-r--r--drivers/net/mdio.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/net/mdio.c b/drivers/net/mdio.c
index 21f8754fcf4c..c0db9d753006 100644
--- a/drivers/net/mdio.c
+++ b/drivers/net/mdio.c
@@ -344,11 +344,9 @@ void mdio45_ethtool_spauseparam_an(const struct mdio_if_info *mdio,
344 344
345 old_adv = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_AN, 345 old_adv = mdio->mdio_read(mdio->dev, mdio->prtad, MDIO_MMD_AN,
346 MDIO_AN_ADVERTISE); 346 MDIO_AN_ADVERTISE);
347 adv = old_adv & ~(ADVERTISE_PAUSE_CAP | ADVERTISE_PAUSE_ASYM); 347 adv = ((old_adv & ~(ADVERTISE_PAUSE_CAP | ADVERTISE_PAUSE_ASYM)) |
348 if (ecmd->autoneg) 348 mii_advertise_flowctrl((ecmd->rx_pause ? FLOW_CTRL_RX : 0) |
349 adv |= mii_advertise_flowctrl( 349 (ecmd->tx_pause ? FLOW_CTRL_TX : 0)));
350 (ecmd->rx_pause ? FLOW_CTRL_RX : 0) |
351 (ecmd->tx_pause ? FLOW_CTRL_TX : 0));
352 if (adv != old_adv) { 350 if (adv != old_adv) {
353 mdio->mdio_write(mdio->dev, mdio->prtad, MDIO_MMD_AN, 351 mdio->mdio_write(mdio->dev, mdio->prtad, MDIO_MMD_AN,
354 MDIO_AN_ADVERTISE, adv); 352 MDIO_AN_ADVERTISE, adv);