If wpas_go_connected() is called during group rekeying the P2P GO peer will expire. To prevent that check if group rekeying is not in progress.
@@ -2222,7 +2222,8 @@ static int wpas_go_connected(void *ctx, const u8 *dev_addr)
continue;
if (ssid->mode != WPAS_MODE_INFRA)
- if (wpa_s->wpa_state != WPA_COMPLETED)
+ if (wpa_s->wpa_state != WPA_COMPLETED &&
+ wpa_s->wpa_state != WPA_GROUP_HANDSHAKE)
if (os_memcmp(wpa_s->go_dev_addr, dev_addr, ETH_ALEN) == 0)
return 1;