diff options
| -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)); |
