diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2015-01-12 22:10:00 +0000 |
---|---|---|
committer | Rafał Miłecki <zajec5@gmail.com> | 2015-01-12 22:10:00 +0000 |
commit | dd59caa5bdc0afcae3f43afeea37c9dc6bea7dcd (patch) | |
tree | f5770ab165fedb3e85bfe448b2a9c5ad83e0a883 /package/network | |
parent | cb36464b835a5763fbfdf4fc2c79222d9d967239 (diff) | |
download | upstream-dd59caa5bdc0afcae3f43afeea37c9dc6bea7dcd.tar.gz upstream-dd59caa5bdc0afcae3f43afeea37c9dc6bea7dcd.tar.bz2 upstream-dd59caa5bdc0afcae3f43afeea37c9dc6bea7dcd.zip |
hostapd: backport patch fixing handling new stations
This patch fixes adding new stations for some specific drivers when
using more than 1 BSS.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@43951 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/network')
-rw-r--r-- | package/network/services/hostapd/patches/000-nl80211-Report-new-station-assoc-event-for-the-corre.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/package/network/services/hostapd/patches/000-nl80211-Report-new-station-assoc-event-for-the-corre.patch b/package/network/services/hostapd/patches/000-nl80211-Report-new-station-assoc-event-for-the-corre.patch new file mode 100644 index 0000000000..8fe4a0e9db --- /dev/null +++ b/package/network/services/hostapd/patches/000-nl80211-Report-new-station-assoc-event-for-the-corre.patch @@ -0,0 +1,37 @@ +--- a/src/drivers/driver_nl80211.c ++++ b/src/drivers/driver_nl80211.c +@@ -2640,6 +2640,7 @@ static void nl80211_new_peer_candidate(s + + + static void nl80211_new_station_event(struct wpa_driver_nl80211_data *drv, ++ struct i802_bss *bss, + struct nlattr **tb) + { + u8 *addr; +@@ -2658,7 +2659,7 @@ static void nl80211_new_station_event(st + ies_len = nla_len(tb[NL80211_ATTR_IE]); + } + wpa_hexdump(MSG_DEBUG, "nl80211: Assoc Req IEs", ies, ies_len); +- drv_event_assoc(drv->ctx, addr, ies, ies_len, 0); ++ drv_event_assoc(bss->ctx, addr, ies, ies_len, 0); + return; + } + +@@ -2667,7 +2668,7 @@ static void nl80211_new_station_event(st + + os_memset(&data, 0, sizeof(data)); + os_memcpy(data.ibss_rsn_start.peer, addr, ETH_ALEN); +- wpa_supplicant_event(drv->ctx, EVENT_IBSS_RSN_START, &data); ++ wpa_supplicant_event(bss->ctx, EVENT_IBSS_RSN_START, &data); + } + + +@@ -3309,7 +3310,7 @@ static void do_process_drv_event(struct + &data); + break; + case NL80211_CMD_NEW_STATION: +- nl80211_new_station_event(drv, tb); ++ nl80211_new_station_event(drv, bss, tb); + break; + case NL80211_CMD_DEL_STATION: + nl80211_del_station_event(drv, tb); |