提交 41a7be48 编写于 作者: R Reinette Chatre 提交者: John W. Linville

mac80211: notify upper layers after lower

When drivers receive change notification they may do work that
will enable the changes to take effect. For example, if new association
the device needs to be programmed with this information.
Give the driver chance to make the changes before notifying the
upper layer - thus preventing race condition where upper layer
attempts to utilize state that may not be configured yet.
Signed-off-by: NReinette Chatre <reinette.chatre@intel.com>
Acked-by: NJohannes Berg <johannes@sipsolutions.net>
Signed-off-by: NJohn W. Linville <linville@tuxdriver.com>
上级 03d29c68
...@@ -542,13 +542,13 @@ static void ieee80211_set_associated(struct net_device *dev, ...@@ -542,13 +542,13 @@ static void ieee80211_set_associated(struct net_device *dev,
memset(wrqu.ap_addr.sa_data, 0, ETH_ALEN); memset(wrqu.ap_addr.sa_data, 0, ETH_ALEN);
} }
wrqu.ap_addr.sa_family = ARPHRD_ETHER;
wireless_send_event(dev, SIOCGIWAP, &wrqu, NULL);
ifsta->last_probe = jiffies; ifsta->last_probe = jiffies;
ieee80211_led_assoc(local, assoc); ieee80211_led_assoc(local, assoc);
sdata->bss_conf.assoc = assoc; sdata->bss_conf.assoc = assoc;
ieee80211_bss_info_change_notify(sdata, changed); ieee80211_bss_info_change_notify(sdata, changed);
wrqu.ap_addr.sa_family = ARPHRD_ETHER;
wireless_send_event(dev, SIOCGIWAP, &wrqu, NULL);
} }
static void ieee80211_set_disassoc(struct net_device *dev, static void ieee80211_set_disassoc(struct net_device *dev,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册