DPP: Clear dpp_listen_freq on remain-on-channel failure

If the DPP_LISTEN command failed due to the driver rejecting the
remain-on-channel request, wpa_s->dpp_listen_freq was left set to the
requested listen frequency and this resulted in the next DPP_LISTEN for
the same frequency reporting "DPP: Already listening on .." even when
the driver was not really listening on that frequency. Fix this by
clearing wpa_s->dpp_listen_freq in the error case.

Signed-off-by: Jouni Malinen <jouni@codeaurora.org>
This commit is contained in:
Jouni Malinen 2019-01-30 12:28:43 +02:00 committed by Jouni Malinen
parent 59fa205388
commit d8c20ec591

View file

@ -942,6 +942,7 @@ static void dpp_start_listen_cb(struct wpa_radio_work *work, int deinit)
wpa_printf(MSG_DEBUG, wpa_printf(MSG_DEBUG,
"DPP: Failed to request the driver to remain on channel (%u MHz) for listen", "DPP: Failed to request the driver to remain on channel (%u MHz) for listen",
lwork->freq); lwork->freq);
wpa_s->dpp_listen_freq = 0;
wpas_dpp_listen_work_done(wpa_s); wpas_dpp_listen_work_done(wpa_s);
wpa_s->dpp_pending_listen_freq = 0; wpa_s->dpp_pending_listen_freq = 0;
return; return;