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 63e51d476900f50a9eeed1942fd6ed0466cacda3..e34be1c7ae8aa4b3808365b5eee9fb40407e834d 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;