P2P: Clear off_channel_freq when requesting new remain-on-channel

The driver may end up leaving the current channel when we request
a new remain-on-channel and as such, it is better not assume we can
start new operations like sending an Action frame on the previous
off-channel.
This commit is contained in:
Jouni Malinen 2010-11-05 18:39:42 +02:00 committed by Jouni Malinen
parent 8eada5ca13
commit 09d660b9e3

View File

@ -569,10 +569,12 @@ static void wpas_send_action_cb(void *eloop_ctx, void *timeout_ctx)
"driver to remain on channel (%u "
"MHz) for Action Frame TX",
wpa_s->pending_action_freq);
} else
} else {
wpa_s->off_channel_freq = 0;
wpa_s->roc_waiting_drv_freq =
wpa_s->pending_action_freq;
}
}
return;
}
@ -709,6 +711,7 @@ static int wpas_send_action(void *ctx, unsigned int freq, const u8 *dst,
"Frame TX", freq);
return -1;
}
wpa_s->off_channel_freq = 0;
wpa_s->roc_waiting_drv_freq = freq;
return 0;
@ -1098,6 +1101,7 @@ static int wpas_start_listen(void *ctx, unsigned int freq,
wpa_s->pending_listen_freq = 0;
return -1;
}
wpa_s->off_channel_freq = 0;
wpa_s->roc_waiting_drv_freq = freq;
return 0;