hostapd: merge fixes for WPA packet number reuse with replayed messages and key reins...
[openwrt/staging/jow.git] / package / network / services / hostapd / patches / 350-nl80211_del_beacon_bss.patch
index d77ab4462fce6c905b29a57269003f3108b13079..92e6ae9ae066740e0601f4137b863f945db422e3 100644 (file)
@@ -2,7 +2,7 @@
 +++ b/src/drivers/driver_nl80211.c
 @@ -2536,10 +2536,15 @@ static int wpa_driver_nl80211_del_beacon
        struct nl_msg *msg;
-       struct wpa_driver_nl80211_data *drv = bss->drv;
+       struct wpa_driver_nl80211_data *drv = bss->drv;
  
 +      if (!bss->beacon_set)
 +              return 0;
@@ -12,7 +12,7 @@
        wpa_printf(MSG_DEBUG, "nl80211: Remove beacon (ifindex=%d)",
 -                 drv->ifindex);
 +                 bss->ifindex);
-       nl80211_put_wiphy_data_ap(bss);
+       nl80211_put_wiphy_data_ap(bss);
 -      msg = nl80211_drv_msg(drv, 0, NL80211_CMD_DEL_BEACON);
 +      msg = nl80211_bss_msg(bss, 0, NL80211_CMD_DEL_BEACON);
        return send_and_recv_msgs(drv, msg, NULL, NULL);
@@ -20,8 +20,8 @@
  
 @@ -4753,7 +4758,7 @@ static void nl80211_teardown_ap(struct i
                nl80211_mgmt_unsubscribe(bss, "AP teardown");
-
-       nl80211_put_wiphy_data_ap(bss);
+       nl80211_put_wiphy_data_ap(bss);
 -      bss->beacon_set = 0;
 +      wpa_driver_nl80211_del_beacon(bss);
  }
@@ -39,7 +39,7 @@
 @@ -7225,7 +7228,6 @@ static int wpa_driver_nl80211_deinit_ap(
        if (!is_ap_interface(drv->nlmode))
                return -1;
-       wpa_driver_nl80211_del_beacon(bss);
+       wpa_driver_nl80211_del_beacon(bss);
 -      bss->beacon_set = 0;
  
        /*
@@ -47,7 +47,7 @@
 @@ -7245,7 +7247,6 @@ static int wpa_driver_nl80211_stop_ap(vo
        if (!is_ap_interface(drv->nlmode))
                return -1;
-       wpa_driver_nl80211_del_beacon(bss);
+       wpa_driver_nl80211_del_beacon(bss);
 -      bss->beacon_set = 0;
        return 0;
  }