summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohn W. Linville <linville@tuxdriver.com>2010-06-04 14:25:44 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-06-04 14:25:44 -0400
commit26b36cfefaf2be98b225e3c1a399edb0daf52ddd (patch)
tree6344512c5477ebc5d8b2d5862b6e2dc2ce5b865b
parent2826bcd844e05dcbef9b9284bddb7fe88e8d314f (diff)
downloadlinux-26b36cfefaf2be98b225e3c1a399edb0daf52ddd.tar.bz2
mac80211: make ARP filtering depend on CONFIG_INET
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r--net/mac80211/main.c6
-rw-r--r--net/mac80211/mlme.c2
2 files changed, 8 insertions, 0 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index 045ead9507aa..5706156d1ecf 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -329,6 +329,7 @@ static void ieee80211_recalc_smps_work(struct work_struct *work)
mutex_unlock(&local->iflist_mtx);
}
+#ifdef CONFIG_INET
int ieee80211_set_arp_filter(struct ieee80211_sub_if_data *sdata)
{
struct in_device *idev;
@@ -380,6 +381,7 @@ static int ieee80211_ifa_changed(struct notifier_block *nb,
return NOTIFY_DONE;
}
+#endif
struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len,
const struct ieee80211_ops *ops)
@@ -669,10 +671,12 @@ int ieee80211_register_hw(struct ieee80211_hw *hw)
goto fail_pm_qos;
}
+#ifdef CONFIG_INET
local->ifa_notifier.notifier_call = ieee80211_ifa_changed;
result = register_inetaddr_notifier(&local->ifa_notifier);
if (result)
goto fail_ifa;
+#endif
return 0;
@@ -707,7 +711,9 @@ void ieee80211_unregister_hw(struct ieee80211_hw *hw)
pm_qos_remove_notifier(PM_QOS_NETWORK_LATENCY,
&local->network_latency_notifier);
+#ifdef CONFIG_INET
unregister_inetaddr_notifier(&local->ifa_notifier);
+#endif
rtnl_lock();
diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index 7e720133358c..3623bb7c4bf4 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -2078,6 +2078,7 @@ static enum work_done_result ieee80211_assoc_done(struct ieee80211_work *wk,
cfg80211_send_assoc_timeout(wk->sdata->dev,
wk->filter_ta);
return WORK_DONE_DESTROY;
+#ifdef CONFIG_INET
} else {
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();
ieee80211_set_arp_filter(wk->sdata);
rtnl_unlock();
+#endif
}
}