Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / net / ethernet / intel / ixgbe / ixgbe_dcb_nl.c
index 32e5c02ff6d0ba91cd607bebcae993da68eeac7d..a09d6b4f0ab0b97d37bca7f86c764b65d0c75d74 100644 (file)
@@ -659,6 +659,13 @@ static int ixgbe_dcbnl_ieee_setpfc(struct net_device *dev,
                        return -ENOMEM;
        }
 
+       if (pfc->pfc_en) {
+               adapter->last_lfc_mode = adapter->hw.fc.current_mode;
+               adapter->hw.fc.current_mode = ixgbe_fc_pfc;
+       } else {
+               adapter->hw.fc.current_mode = adapter->last_lfc_mode;
+       }
+
        prio_tc = adapter->ixgbe_ieee_ets->prio_tc;
        memcpy(adapter->ixgbe_ieee_pfc, pfc, sizeof(*adapter->ixgbe_ieee_pfc));
        return ixgbe_dcb_hw_pfc_config(&adapter->hw, pfc->pfc_en, prio_tc);