mirror of https://gitee.com/openkylin/linux.git
mac80211: make ARP filtering depend on CONFIG_INET
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
2826bcd844
commit
26b36cfefa
|
@ -329,6 +329,7 @@ static void ieee80211_recalc_smps_work(struct work_struct *work)
|
||||||
mutex_unlock(&local->iflist_mtx);
|
mutex_unlock(&local->iflist_mtx);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_INET
|
||||||
int ieee80211_set_arp_filter(struct ieee80211_sub_if_data *sdata)
|
int ieee80211_set_arp_filter(struct ieee80211_sub_if_data *sdata)
|
||||||
{
|
{
|
||||||
struct in_device *idev;
|
struct in_device *idev;
|
||||||
|
@ -380,6 +381,7 @@ static int ieee80211_ifa_changed(struct notifier_block *nb,
|
||||||
|
|
||||||
return NOTIFY_DONE;
|
return NOTIFY_DONE;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len,
|
struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len,
|
||||||
const struct ieee80211_ops *ops)
|
const struct ieee80211_ops *ops)
|
||||||
|
@ -669,10 +671,12 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
|
||||||
goto fail_pm_qos;
|
goto fail_pm_qos;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef CONFIG_INET
|
||||||
local->ifa_notifier.notifier_call = ieee80211_ifa_changed;
|
local->ifa_notifier.notifier_call = ieee80211_ifa_changed;
|
||||||
result = register_inetaddr_notifier(&local->ifa_notifier);
|
result = register_inetaddr_notifier(&local->ifa_notifier);
|
||||||
if (result)
|
if (result)
|
||||||
goto fail_ifa;
|
goto fail_ifa;
|
||||||
|
#endif
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
@ -707,7 +711,9 @@ void ieee80211_unregister_hw(struct ieee80211_hw *hw)
|
||||||
|
|
||||||
pm_qos_remove_notifier(PM_QOS_NETWORK_LATENCY,
|
pm_qos_remove_notifier(PM_QOS_NETWORK_LATENCY,
|
||||||
&local->network_latency_notifier);
|
&local->network_latency_notifier);
|
||||||
|
#ifdef CONFIG_INET
|
||||||
unregister_inetaddr_notifier(&local->ifa_notifier);
|
unregister_inetaddr_notifier(&local->ifa_notifier);
|
||||||
|
#endif
|
||||||
|
|
||||||
rtnl_lock();
|
rtnl_lock();
|
||||||
|
|
||||||
|
|
|
@ -2078,6 +2078,7 @@ static enum work_done_result ieee80211_assoc_done(struct ieee80211_work *wk,
|
||||||
cfg80211_send_assoc_timeout(wk->sdata->dev,
|
cfg80211_send_assoc_timeout(wk->sdata->dev,
|
||||||
wk->filter_ta);
|
wk->filter_ta);
|
||||||
return WORK_DONE_DESTROY;
|
return WORK_DONE_DESTROY;
|
||||||
|
#ifdef CONFIG_INET
|
||||||
} else {
|
} else {
|
||||||
mutex_unlock(&wk->sdata->u.mgd.mtx);
|
mutex_unlock(&wk->sdata->u.mgd.mtx);
|
||||||
|
|
||||||
|
@ -2088,6 +2089,7 @@ static enum work_done_result ieee80211_assoc_done(struct ieee80211_work *wk,
|
||||||
rtnl_lock();
|
rtnl_lock();
|
||||||
ieee80211_set_arp_filter(wk->sdata);
|
ieee80211_set_arp_filter(wk->sdata);
|
||||||
rtnl_unlock();
|
rtnl_unlock();
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue