diff options
author | Rajesh Borundia <rajesh.borundia@qlogic.com> | 2010-07-13 16:33:31 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-14 16:54:15 -0400 |
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, | |||
578 | } | 578 | } |
579 | QLCWR32(adapter, QLCNIC_NIU_GB_PAUSE_CTL, val); | 579 | QLCWR32(adapter, QLCNIC_NIU_GB_PAUSE_CTL, val); |
580 | } else if (adapter->ahw.port_type == QLCNIC_XGBE) { | 580 | } else if (adapter->ahw.port_type == QLCNIC_XGBE) { |
581 | if (!pause->rx_pause || pause->autoneg) | ||
582 | return -EOPNOTSUPP; | ||
583 | |||
581 | if ((port < 0) || (port > QLCNIC_NIU_MAX_XG_PORTS)) | 584 | if ((port < 0) || (port > QLCNIC_NIU_MAX_XG_PORTS)) |
582 | return -EIO; | 585 | return -EIO; |
586 | |||
583 | val = QLCRD32(adapter, QLCNIC_NIU_XG_PAUSE_CTL); | 587 | val = QLCRD32(adapter, QLCNIC_NIU_XG_PAUSE_CTL); |
584 | if (port == 0) { | 588 | if (port == 0) { |
585 | if (pause->tx_pause) | 589 | if (pause->tx_pause) |