be2net: Fix error while toggling autoneg of pause parameters
authorPadmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Thu, 12 Jul 2012 03:56:11 +0000 (03:56 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 12 Jul 2012 15:16:46 +0000 (08:16 -0700)
Autonegotiation of pause parameters is possible only on some PHYs.
Ability of autoneg of pause parameters is reported by adapter.
Autoneg of pause parameters cannot be changed from driver.
Fix driver to give error when autoneg mode is toggled by user.

Signed-off-by: Padmanabh Ratnakar <padmanabh.ratnakar@emulex.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/emulex/benet/be_ethtool.c

index 63e51d4..e34be1c 100644 (file)
@@ -648,7 +648,7 @@ be_set_pauseparam(struct net_device *netdev, struct ethtool_pauseparam *ecmd)
        struct be_adapter *adapter = netdev_priv(netdev);
        int status;
 
-       if (ecmd->autoneg != 0)
+       if (ecmd->autoneg != adapter->phy.fc_autoneg)
                return -EINVAL;
        adapter->tx_fc = ecmd->tx_pause;
        adapter->rx_fc = ecmd->rx_pause;