diff options
Diffstat (limited to 'drivers/net/ixgbe/ixgbe_ethtool.c')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_ethtool.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/ixgbe/ixgbe_ethtool.c b/drivers/net/ixgbe/ixgbe_ethtool.c index 39fb98faffd0..6c7324339ec8 100644 --- a/drivers/net/ixgbe/ixgbe_ethtool.c +++ b/drivers/net/ixgbe/ixgbe_ethtool.c | |||
@@ -270,6 +270,13 @@ static int ixgbe_set_pauseparam(struct net_device *netdev, | |||
270 | struct ixgbe_adapter *adapter = netdev_priv(netdev); | 270 | struct ixgbe_adapter *adapter = netdev_priv(netdev); |
271 | struct ixgbe_hw *hw = &adapter->hw; | 271 | struct ixgbe_hw *hw = &adapter->hw; |
272 | 272 | ||
273 | #ifdef CONFIG_DCB | ||
274 | if (adapter->dcb_cfg.pfc_mode_enable || | ||
275 | ((hw->mac.type == ixgbe_mac_82598EB) && | ||
276 | (adapter->flags & IXGBE_FLAG_DCB_ENABLED))) | ||
277 | return -EINVAL; | ||
278 | |||
279 | #endif | ||
273 | if (pause->autoneg != AUTONEG_ENABLE) | 280 | if (pause->autoneg != AUTONEG_ENABLE) |
274 | hw->fc.disable_fc_autoneg = true; | 281 | hw->fc.disable_fc_autoneg = true; |
275 | else | 282 | else |
@@ -286,6 +293,9 @@ static int ixgbe_set_pauseparam(struct net_device *netdev, | |||
286 | else | 293 | else |
287 | return -EINVAL; | 294 | return -EINVAL; |
288 | 295 | ||
296 | #ifdef CONFIG_DCB | ||
297 | adapter->last_lfc_mode = hw->fc.requested_mode; | ||
298 | #endif | ||
289 | hw->mac.ops.setup_fc(hw, 0); | 299 | hw->mac.ops.setup_fc(hw, 0); |
290 | 300 | ||
291 | return 0; | 301 | return 0; |