Commit 53d69c39 authored by Eliad Peller's avatar Eliad Peller Committed by John W. Linville

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: default avatarEyal Shapira <eyal@wizery.com>
Signed-off-by: default avatarEliad Peller <eliad@wizery.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 0d392e93
...@@ -393,9 +393,6 @@ static int ieee80211_ifa_changed(struct notifier_block *nb, ...@@ -393,9 +393,6 @@ static int ieee80211_ifa_changed(struct notifier_block *nb,
sdata = IEEE80211_DEV_TO_SUB_IF(ndev); sdata = IEEE80211_DEV_TO_SUB_IF(ndev);
bss_conf = &sdata->vif.bss_conf; bss_conf = &sdata->vif.bss_conf;
if (!ieee80211_sdata_running(sdata))
return NOTIFY_DONE;
/* ARP filtering is only supported in managed mode */ /* ARP filtering is only supported in managed mode */
if (sdata->vif.type != NL80211_IFTYPE_STATION) if (sdata->vif.type != NL80211_IFTYPE_STATION)
return NOTIFY_DONE; return NOTIFY_DONE;
...@@ -424,7 +421,7 @@ static int ieee80211_ifa_changed(struct notifier_block *nb, ...@@ -424,7 +421,7 @@ static int ieee80211_ifa_changed(struct notifier_block *nb,
} }
bss_conf->arp_addr_cnt = c; bss_conf->arp_addr_cnt = c;
/* Configure driver only if associated */ /* Configure driver only if associated (which also implies it is up) */
if (ifmgd->associated) { if (ifmgd->associated) {
bss_conf->arp_filter_enabled = sdata->arp_filter_state; bss_conf->arp_filter_enabled = sdata->arp_filter_state;
ieee80211_bss_info_change_notify(sdata, ieee80211_bss_info_change_notify(sdata,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment