| --- a/src/drivers/driver_nl80211.c |
| +++ b/src/drivers/driver_nl80211.c |
| @@ -3008,12 +3008,12 @@ static int wpa_driver_nl80211_del_beacon |
| return 0; |
| |
| wpa_printf(MSG_DEBUG, "nl80211: Remove beacon (ifindex=%d)", |
| - drv->ifindex); |
| + bss->ifindex); |
| link->beacon_set = 0; |
| link->freq = 0; |
| |
| 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); |
| if (!msg) |
| return -ENOBUFS; |
| |
| @@ -6100,7 +6100,7 @@ static void nl80211_teardown_ap(struct i |
| nl80211_mgmt_unsubscribe(bss, "AP teardown"); |
| |
| nl80211_put_wiphy_data_ap(bss); |
| - bss->flink->beacon_set = 0; |
| + wpa_driver_nl80211_del_beacon_all(bss); |
| } |
| |
| |
| @@ -8859,8 +8859,6 @@ static int wpa_driver_nl80211_if_remove( |
| } else { |
| wpa_printf(MSG_DEBUG, "nl80211: First BSS - reassign context"); |
| nl80211_teardown_ap(bss); |
| - if (!bss->added_if && !drv->first_bss->next) |
| - wpa_driver_nl80211_del_beacon_all(bss); |
| nl80211_destroy_bss(bss); |
| if (!bss->added_if) |
| i802_set_iface_flags(bss, 0); |