--- a/ath/if_ath.c +++ b/ath/if_ath.c @@ -569,7 +569,11 @@ static const struct net_device_ops ath_n .ndo_stop = ath_stop, .ndo_start_xmit = ath_hardstart, .ndo_tx_timeout = ath_tx_timeout, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0) + .ndo_set_rx_mode = ath_mode_init, +#else .ndo_set_multicast_list = ath_mode_init, +#endif .ndo_do_ioctl = ath_ioctl, .ndo_get_stats = ath_getstats, .ndo_set_mac_address = ath_set_mac_address, --- a/net80211/ieee80211.c +++ b/net80211/ieee80211.c @@ -461,7 +461,11 @@ static const struct net_device_ops ieee8 .ndo_open = ieee80211_open, .ndo_stop = ieee80211_stop, .ndo_start_xmit = ieee80211_hardstart, +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0) + .ndo_set_rx_mode = ieee80211_set_multicast_list, +#else .ndo_set_multicast_list = ieee80211_set_multicast_list, +#endif .ndo_change_mtu = ieee80211_change_mtu, .ndo_do_ioctl = ieee80211_ioctl, .ndo_validate_addr = eth_validate_addr, @@ -1847,10 +1851,14 @@ ieee80211_set_multicast_list(struct net_ IEEE80211_UNLOCK_IRQ(ic); /* XXX: Merge multicast list into parent device */ -#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,29) - parent->set_multicast_list(ic->ic_dev); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3,2,0) + parent->netdev_ops->ndo_set_rx_mode(ic->ic_dev); #else +#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,29) parent->netdev_ops->ndo_set_multicast_list(ic->ic_dev); +#else + parent->set_multicast_list(ic->ic_dev); +#endif #endif }