diff options
Diffstat (limited to 'drivers/net/ixgbe')
-rw-r--r-- | drivers/net/ixgbe/ixgbe_main.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c index a9e091cb5499..f0f7329ea357 100644 --- a/drivers/net/ixgbe/ixgbe_main.c +++ b/drivers/net/ixgbe/ixgbe_main.c | |||
@@ -2845,7 +2845,11 @@ static void ixgbe_vlan_filter_disable(struct ixgbe_adapter *adapter) | |||
2845 | 2845 | ||
2846 | switch (hw->mac.type) { | 2846 | switch (hw->mac.type) { |
2847 | case ixgbe_mac_82598EB: | 2847 | case ixgbe_mac_82598EB: |
2848 | vlnctrl &= ~(IXGBE_VLNCTRL_VME | IXGBE_VLNCTRL_VFE); | 2848 | vlnctrl &= ~IXGBE_VLNCTRL_VFE; |
2849 | #ifdef CONFIG_IXGBE_DCB | ||
2850 | if (!(adapter->flags & IXGBE_FLAG_DCB_ENABLED)) | ||
2851 | vlnctrl &= ~IXGBE_VLNCTRL_VME; | ||
2852 | #endif | ||
2849 | vlnctrl &= ~IXGBE_VLNCTRL_CFIEN; | 2853 | vlnctrl &= ~IXGBE_VLNCTRL_CFIEN; |
2850 | IXGBE_WRITE_REG(hw, IXGBE_VLNCTRL, vlnctrl); | 2854 | IXGBE_WRITE_REG(hw, IXGBE_VLNCTRL, vlnctrl); |
2851 | break; | 2855 | break; |
@@ -2853,6 +2857,10 @@ static void ixgbe_vlan_filter_disable(struct ixgbe_adapter *adapter) | |||
2853 | vlnctrl &= ~IXGBE_VLNCTRL_VFE; | 2857 | vlnctrl &= ~IXGBE_VLNCTRL_VFE; |
2854 | vlnctrl &= ~IXGBE_VLNCTRL_CFIEN; | 2858 | vlnctrl &= ~IXGBE_VLNCTRL_CFIEN; |
2855 | IXGBE_WRITE_REG(hw, IXGBE_VLNCTRL, vlnctrl); | 2859 | IXGBE_WRITE_REG(hw, IXGBE_VLNCTRL, vlnctrl); |
2860 | #ifdef CONFIG_IXGBE_DCB | ||
2861 | if (adapter->flags & IXGBE_FLAG_DCB_ENABLED) | ||
2862 | break; | ||
2863 | #endif | ||
2856 | for (i = 0; i < adapter->num_rx_queues; i++) { | 2864 | for (i = 0; i < adapter->num_rx_queues; i++) { |
2857 | j = adapter->rx_ring[i]->reg_idx; | 2865 | j = adapter->rx_ring[i]->reg_idx; |
2858 | vlnctrl = IXGBE_READ_REG(hw, IXGBE_RXDCTL(j)); | 2866 | vlnctrl = IXGBE_READ_REG(hw, IXGBE_RXDCTL(j)); |