| --- a/drivers/net/ethernet/intel/igb/igb_main.c |
| +++ b/drivers/net/ethernet/intel/igb/igb_main.c |
| @@ -157,8 +157,16 @@ static void igb_tx_timeout(struct net_de |
| static void igb_reset_task(struct work_struct *); |
| static void igb_vlan_mode(struct net_device *netdev, |
| netdev_features_t features); |
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) |
| static int igb_vlan_rx_add_vid(struct net_device *, __be16, u16); |
| static int igb_vlan_rx_kill_vid(struct net_device *, __be16, u16); |
| +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) |
| +static int igb_vlan_rx_add_vid(struct net_device *, u16); |
| +static int igb_vlan_rx_kill_vid(struct net_device *, u16); |
| +#else |
| +static void igb_vlan_rx_add_vid(struct net_device *, u16); |
| +static void igb_vlan_rx_kill_vid(struct net_device *, u16); |
| +#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) */ |
| static void igb_restore_vlan(struct igb_adapter *); |
| static void igb_rar_set_qsel(struct igb_adapter *, u8 *, u32 , u8); |
| static void igb_ping_all_vfs(struct igb_adapter *); |
| @@ -7199,8 +7207,14 @@ static void igb_vlan_mode(struct net_dev |
| igb_rlpml_set(adapter); |
| } |
| |
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) |
| static int igb_vlan_rx_add_vid(struct net_device *netdev, |
| __be16 proto, u16 vid) |
| +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) |
| +static int igb_vlan_rx_add_vid(struct net_device *netdev, u16 vid) |
| +#else |
| +static void igb_vlan_rx_add_vid(struct net_device *netdev, u16 vid) |
| +#endif |
| { |
| struct igb_adapter *adapter = netdev_priv(netdev); |
| struct e1000_hw *hw = &adapter->hw; |
| @@ -7214,11 +7228,19 @@ static int igb_vlan_rx_add_vid(struct ne |
| |
| set_bit(vid, adapter->active_vlans); |
| |
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) |
| return 0; |
| +#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) */ |
| } |
| |
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) |
| static int igb_vlan_rx_kill_vid(struct net_device *netdev, |
| __be16 proto, u16 vid) |
| +#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) |
| +static int igb_vlan_rx_kill_vid(struct net_device *netdev, u16 vid) |
| +#else |
| +static void igb_vlan_rx_kill_vid(struct net_device *netdev, u16 vid) |
| +#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) */ |
| { |
| struct igb_adapter *adapter = netdev_priv(netdev); |
| struct e1000_hw *hw = &adapter->hw; |
| @@ -7234,7 +7256,9 @@ static int igb_vlan_rx_kill_vid(struct n |
| |
| clear_bit(vid, adapter->active_vlans); |
| |
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) |
| return 0; |
| +#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,3,0) */ |
| } |
| |
| static void igb_restore_vlan(struct igb_adapter *adapter) |
| @@ -7244,7 +7268,11 @@ static void igb_restore_vlan(struct igb_ |
| igb_vlan_mode(adapter->netdev, adapter->netdev->features); |
| |
| for_each_set_bit(vid, adapter->active_vlans, VLAN_N_VID) |
| +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) |
| igb_vlan_rx_add_vid(adapter->netdev, htons(ETH_P_8021Q), vid); |
| +#else |
| + igb_vlan_rx_add_vid(adapter->netdev, vid); |
| +#endif /* LINUX_VERSION_CODE >= KERNEL_VERSION(3,10,0) */ |
| } |
| |
| int igb_set_spd_dplx(struct igb_adapter *adapter, u32 spd, u8 dplx) |