diff options
Diffstat (limited to 'drivers/net/ethernet/intel/igbvf/netdev.c')
-rw-r--r-- | drivers/net/ethernet/intel/igbvf/netdev.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c index c358973ce414..fd3da3076c2f 100644 --- a/drivers/net/ethernet/intel/igbvf/netdev.c +++ b/drivers/net/ethernet/intel/igbvf/netdev.c | |||
@@ -1176,18 +1176,20 @@ static void igbvf_set_rlpml(struct igbvf_adapter *adapter) | |||
1176 | e1000_rlpml_set_vf(hw, max_frame_size); | 1176 | e1000_rlpml_set_vf(hw, max_frame_size); |
1177 | } | 1177 | } |
1178 | 1178 | ||
1179 | static void igbvf_vlan_rx_add_vid(struct net_device *netdev, u16 vid) | 1179 | static int igbvf_vlan_rx_add_vid(struct net_device *netdev, u16 vid) |
1180 | { | 1180 | { |
1181 | struct igbvf_adapter *adapter = netdev_priv(netdev); | 1181 | struct igbvf_adapter *adapter = netdev_priv(netdev); |
1182 | struct e1000_hw *hw = &adapter->hw; | 1182 | struct e1000_hw *hw = &adapter->hw; |
1183 | 1183 | ||
1184 | if (hw->mac.ops.set_vfta(hw, vid, true)) | 1184 | if (hw->mac.ops.set_vfta(hw, vid, true)) { |
1185 | dev_err(&adapter->pdev->dev, "Failed to add vlan id %d\n", vid); | 1185 | dev_err(&adapter->pdev->dev, "Failed to add vlan id %d\n", vid); |
1186 | else | 1186 | return -EINVAL; |
1187 | set_bit(vid, adapter->active_vlans); | 1187 | } |
1188 | set_bit(vid, adapter->active_vlans); | ||
1189 | return 0; | ||
1188 | } | 1190 | } |
1189 | 1191 | ||
1190 | static void igbvf_vlan_rx_kill_vid(struct net_device *netdev, u16 vid) | 1192 | static int igbvf_vlan_rx_kill_vid(struct net_device *netdev, u16 vid) |
1191 | { | 1193 | { |
1192 | struct igbvf_adapter *adapter = netdev_priv(netdev); | 1194 | struct igbvf_adapter *adapter = netdev_priv(netdev); |
1193 | struct e1000_hw *hw = &adapter->hw; | 1195 | struct e1000_hw *hw = &adapter->hw; |
@@ -1197,11 +1199,13 @@ static void igbvf_vlan_rx_kill_vid(struct net_device *netdev, u16 vid) | |||
1197 | if (!test_bit(__IGBVF_DOWN, &adapter->state)) | 1199 | if (!test_bit(__IGBVF_DOWN, &adapter->state)) |
1198 | igbvf_irq_enable(adapter); | 1200 | igbvf_irq_enable(adapter); |
1199 | 1201 | ||
1200 | if (hw->mac.ops.set_vfta(hw, vid, false)) | 1202 | if (hw->mac.ops.set_vfta(hw, vid, false)) { |
1201 | dev_err(&adapter->pdev->dev, | 1203 | dev_err(&adapter->pdev->dev, |
1202 | "Failed to remove vlan id %d\n", vid); | 1204 | "Failed to remove vlan id %d\n", vid); |
1203 | else | 1205 | return -EINVAL; |
1204 | clear_bit(vid, adapter->active_vlans); | 1206 | } |
1207 | clear_bit(vid, adapter->active_vlans); | ||
1208 | return 0; | ||
1205 | } | 1209 | } |
1206 | 1210 | ||
1207 | static void igbvf_restore_vlan(struct igbvf_adapter *adapter) | 1211 | static void igbvf_restore_vlan(struct igbvf_adapter *adapter) |