Skip to content

Commit

Permalink
mac80211: don't check sdata_running in vif notifier
Browse files Browse the repository at this point in the history
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 <[email protected]>
Signed-off-by: Eliad Peller <[email protected]>
Signed-off-by: John W. Linville <[email protected]>
  • Loading branch information
elp authored and linvjw committed Dec 13, 2011
1 parent 0d392e9 commit 53d69c3
Showing 1 changed file with 1 addition and 4 deletions.
5 changes: 1 addition & 4 deletions net/mac80211/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -393,9 +393,6 @@ static int ieee80211_ifa_changed(struct notifier_block *nb,
sdata = IEEE80211_DEV_TO_SUB_IF(ndev);
bss_conf = &sdata->vif.bss_conf;

if (!ieee80211_sdata_running(sdata))
return NOTIFY_DONE;

/* ARP filtering is only supported in managed mode */
if (sdata->vif.type != NL80211_IFTYPE_STATION)
return NOTIFY_DONE;
Expand Down Expand Up @@ -424,7 +421,7 @@ static int ieee80211_ifa_changed(struct notifier_block *nb,
}
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) {
bss_conf->arp_filter_enabled = sdata->arp_filter_state;
ieee80211_bss_info_change_notify(sdata,
Expand Down

0 comments on commit 53d69c3

Please sign in to comment.