aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ixgbe/ixgbe_main.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/ixgbe/ixgbe_main.c b/drivers/net/ixgbe/ixgbe_main.c
index c46252520d7a..b8fd81748602 100644
--- a/drivers/net/ixgbe/ixgbe_main.c
+++ b/drivers/net/ixgbe/ixgbe_main.c
@@ -2432,15 +2432,17 @@ static void ixgbe_vlan_rx_add_vid(struct net_device *netdev, u16 vid)
2432{ 2432{
2433 struct ixgbe_adapter *adapter = netdev_priv(netdev); 2433 struct ixgbe_adapter *adapter = netdev_priv(netdev);
2434 struct ixgbe_hw *hw = &adapter->hw; 2434 struct ixgbe_hw *hw = &adapter->hw;
2435 int pool_ndx = adapter->num_vfs;
2435 2436
2436 /* add VID to filter table */ 2437 /* add VID to filter table */
2437 hw->mac.ops.set_vfta(&adapter->hw, vid, 0, true); 2438 hw->mac.ops.set_vfta(&adapter->hw, vid, pool_ndx, true);
2438} 2439}
2439 2440
2440static void ixgbe_vlan_rx_kill_vid(struct net_device *netdev, u16 vid) 2441static void ixgbe_vlan_rx_kill_vid(struct net_device *netdev, u16 vid)
2441{ 2442{
2442 struct ixgbe_adapter *adapter = netdev_priv(netdev); 2443 struct ixgbe_adapter *adapter = netdev_priv(netdev);
2443 struct ixgbe_hw *hw = &adapter->hw; 2444 struct ixgbe_hw *hw = &adapter->hw;
2445 int pool_ndx = adapter->num_vfs;
2444 2446
2445 if (!test_bit(__IXGBE_DOWN, &adapter->state)) 2447 if (!test_bit(__IXGBE_DOWN, &adapter->state))
2446 ixgbe_irq_disable(adapter); 2448 ixgbe_irq_disable(adapter);
@@ -2451,7 +2453,7 @@ static void ixgbe_vlan_rx_kill_vid(struct net_device *netdev, u16 vid)
2451 ixgbe_irq_enable(adapter); 2453 ixgbe_irq_enable(adapter);
2452 2454
2453 /* remove VID from filter table */ 2455 /* remove VID from filter table */
2454 hw->mac.ops.set_vfta(&adapter->hw, vid, 0, false); 2456 hw->mac.ops.set_vfta(&adapter->hw, vid, pool_ndx, false);
2455} 2457}
2456 2458
2457static void ixgbe_vlan_rx_register(struct net_device *netdev, 2459static void ixgbe_vlan_rx_register(struct net_device *netdev,