hostapd: backport patch fixing handling new stations
[openwrt.git] / package / network / services / hostapd / patches / 000-nl80211-Report-new-station-assoc-event-for-the-corre.patch
1 --- a/src/drivers/driver_nl80211.c
2 +++ b/src/drivers/driver_nl80211.c
3 @@ -2640,6 +2640,7 @@ static void nl80211_new_peer_candidate(s
4  
5  
6  static void nl80211_new_station_event(struct wpa_driver_nl80211_data *drv,
7 +                                     struct i802_bss *bss,
8                                       struct nlattr **tb)
9  {
10         u8 *addr;
11 @@ -2658,7 +2659,7 @@ static void nl80211_new_station_event(st
12                         ies_len = nla_len(tb[NL80211_ATTR_IE]);
13                 }
14                 wpa_hexdump(MSG_DEBUG, "nl80211: Assoc Req IEs", ies, ies_len);
15 -               drv_event_assoc(drv->ctx, addr, ies, ies_len, 0);
16 +               drv_event_assoc(bss->ctx, addr, ies, ies_len, 0);
17                 return;
18         }
19  
20 @@ -2667,7 +2668,7 @@ static void nl80211_new_station_event(st
21  
22         os_memset(&data, 0, sizeof(data));
23         os_memcpy(data.ibss_rsn_start.peer, addr, ETH_ALEN);
24 -       wpa_supplicant_event(drv->ctx, EVENT_IBSS_RSN_START, &data);
25 +       wpa_supplicant_event(bss->ctx, EVENT_IBSS_RSN_START, &data);
26  }
27  
28  
29 @@ -3309,7 +3310,7 @@ static void do_process_drv_event(struct
30                                      &data);
31                 break;
32         case NL80211_CMD_NEW_STATION:
33 -               nl80211_new_station_event(drv, tb);
34 +               nl80211_new_station_event(drv, bss, tb);
35                 break;
36         case NL80211_CMD_DEL_STATION:
37                 nl80211_del_station_event(drv, tb);