diff options
author | Rajesh Borundia <rajesh.borundia@qlogic.com> | 2010-07-13 20:33:31 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-14 13:54:15 -0700 |
commit | 6d181688953465c76c375c665a557c1ff88dcc40 (patch) | |
tree | 35121c181fadd967f2bfcb041755eec922da1385 | |
parent | 2cb8d9d1da282d4067a9b2dfbf8f7b0bab0c56e7 (diff) |
qlcnic: fix pause params setting
Turning off rx pause param and autoneg param is not supported so
return error in that case.
Signed-off-by: Rajesh Borundia <rajesh.borundia@qlogic.com>
Signed-off-by: Amit Kumar Salecha <amit.salecha@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | drivers/net/qlcnic/qlcnic_ethtool.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/qlcnic/qlcnic_ethtool.c b/drivers/net/qlcnic/qlcnic_ethtool.c index baf5a52b2a4b..7d6558e33dca 100644 --- a/drivers/net/qlcnic/qlcnic_ethtool.c +++ b/drivers/net/qlcnic/qlcnic_ethtool.c @@ -578,8 +578,12 @@ qlcnic_set_pauseparam(struct net_device *netdev, } QLCWR32(adapter, QLCNIC_NIU_GB_PAUSE_CTL, val); } else if (adapter->ahw.port_type == QLCNIC_XGBE) { + if (!pause->rx_pause || pause->autoneg) + return -EOPNOTSUPP; + if ((port < 0) || (port > QLCNIC_NIU_MAX_XG_PORTS)) return -EIO; + val = QLCRD32(adapter, QLCNIC_NIU_XG_PAUSE_CTL); if (port == 0) { if (pause->tx_pause) |