diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index cb78a30d9..f6252b1aa 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -9667,9 +9667,15 @@ static int wpas_p2p_move_go_csa(struct wpa_supplicant *wpa_s) goto out; } - if (conf->hw_mode != wpa_s->ap_iface->current_mode->mode) { - wpa_dbg(wpa_s, MSG_DEBUG, - "P2P CSA: CSA to a different band is not supported"); + if (conf->hw_mode != wpa_s->ap_iface->current_mode->mode && + (wpa_s->ap_iface->current_mode->mode != HOSTAPD_MODE_IEEE80211A || + is_6ghz_freq(wpa_s->ap_iface->freq) || + conf->hw_mode != HOSTAPD_MODE_IEEE80211G)) { + wpa_dbg(wpa_s, MSG_INFO, + "P2P CSA: CSA from hardware mode %d%s to %d is not supported", + wpa_s->ap_iface->current_mode->mode, + is_6ghz_freq(wpa_s->ap_iface->freq) ? " (6 GHz)" : "", + conf->hw_mode); ret = -1; goto out; }