aboutsummaryrefslogtreecommitdiffstats
path: root/net/mac80211
diff options
context:
space:
mode:
authorEliad Peller <eliad@wizery.com>2011-12-12 08:30:04 -0500
committerJohn W. Linville <linville@tuxdriver.com>2011-12-13 15:34:15 -0500
commit53d69c399abf3b382c1e737ff9402d31ca5a7a51 (patch)
treeeb70683acb6c0db857ca55def7fb44c7a4d6efa3 /net/mac80211
parent0d392e938b55935cf4137e05a23009dc168481c3 (diff)
mac80211: don't check sdata_running in vif notifier
The ip address of the vif can be set even before the vif is up. requiring the vif to be up in the vif notifier makes the notifer ignore this event, which causes wrong arp filter configuration later on. Reported-by: Eyal Shapira <eyal@wizery.com> Signed-off-by: Eliad Peller <eliad@wizery.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/mac80211')
-rw-r--r--net/mac80211/main.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c
index 145583625718..0a0d94ad9b08 100644
--- a/net/mac80211/main.c
+++ b/net/mac80211/main.c
@@ -393,9 +393,6 @@ static int ieee80211_ifa_changed(struct notifier_block *nb,
393 sdata = IEEE80211_DEV_TO_SUB_IF(ndev); 393 sdata = IEEE80211_DEV_TO_SUB_IF(ndev);
394 bss_conf = &sdata->vif.bss_conf; 394 bss_conf = &sdata->vif.bss_conf;
395 395
396 if (!ieee80211_sdata_running(sdata))
397 return NOTIFY_DONE;
398
399 /* ARP filtering is only supported in managed mode */ 396 /* ARP filtering is only supported in managed mode */
400 if (sdata->vif.type != NL80211_IFTYPE_STATION) 397 if (sdata->vif.type != NL80211_IFTYPE_STATION)
401 return NOTIFY_DONE; 398 return NOTIFY_DONE;
@@ -424,7 +421,7 @@ static int ieee80211_ifa_changed(struct notifier_block *nb,
424 } 421 }
425 bss_conf->arp_addr_cnt = c; 422 bss_conf->arp_addr_cnt = c;
426 423
427 /* Configure driver only if associated */ 424 /* Configure driver only if associated (which also implies it is up) */
428 if (ifmgd->associated) { 425 if (ifmgd->associated) {
429 bss_conf->arp_filter_enabled = sdata->arp_filter_state; 426 bss_conf->arp_filter_enabled = sdata->arp_filter_state;
430 ieee80211_bss_info_change_notify(sdata, 427 ieee80211_bss_info_change_notify(sdata,