P2P: Fix GO start on interface that has active station connection
The active station connection triggered wpa_supplicant AP mode startup to try to update Beacon IEs before the AP mode was properly initialized and that resulted in NULL pointer dereference in driver_nl80211.c. Fix this by skipping the IE update before the AP mode is initialized. Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
This commit is contained in:
parent
b088cf82c9
commit
72d48a80ec
1 changed files with 6 additions and 2 deletions
|
@ -913,7 +913,9 @@ int wpa_supplicant_ap_update_beacon(struct wpa_supplicant *wpa_s)
|
|||
struct wpa_ssid *ssid = wpa_s->current_ssid;
|
||||
struct hostapd_data *hapd;
|
||||
|
||||
if (ssid == NULL || wpa_s->ap_iface == NULL)
|
||||
if (ssid == NULL || wpa_s->ap_iface == NULL ||
|
||||
ssid->mode == WPAS_MODE_INFRA ||
|
||||
ssid->mode == WPAS_MODE_IBSS)
|
||||
return -1;
|
||||
|
||||
#ifdef CONFIG_P2P
|
||||
|
@ -924,8 +926,10 @@ int wpa_supplicant_ap_update_beacon(struct wpa_supplicant *wpa_s)
|
|||
P2P_GROUP_FORMATION;
|
||||
#endif /* CONFIG_P2P */
|
||||
|
||||
ieee802_11_set_beacons(iface);
|
||||
hapd = iface->bss[0];
|
||||
if (hapd->drv_priv == NULL)
|
||||
return -1;
|
||||
ieee802_11_set_beacons(iface);
|
||||
hostapd_set_ap_wps_ie(hapd);
|
||||
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue