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:
parent
8eada5ca13
commit
09d660b9e3
1 changed files with 5 additions and 1 deletions
|
@ -569,10 +569,12 @@ static void wpas_send_action_cb(void *eloop_ctx, void *timeout_ctx)
|
||||||
"driver to remain on channel (%u "
|
"driver to remain on channel (%u "
|
||||||
"MHz) for Action Frame TX",
|
"MHz) for Action Frame TX",
|
||||||
wpa_s->pending_action_freq);
|
wpa_s->pending_action_freq);
|
||||||
} else
|
} else {
|
||||||
|
wpa_s->off_channel_freq = 0;
|
||||||
wpa_s->roc_waiting_drv_freq =
|
wpa_s->roc_waiting_drv_freq =
|
||||||
wpa_s->pending_action_freq;
|
wpa_s->pending_action_freq;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -709,6 +711,7 @@ static int wpas_send_action(void *ctx, unsigned int freq, const u8 *dst,
|
||||||
"Frame TX", freq);
|
"Frame TX", freq);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
wpa_s->off_channel_freq = 0;
|
||||||
wpa_s->roc_waiting_drv_freq = freq;
|
wpa_s->roc_waiting_drv_freq = freq;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1098,6 +1101,7 @@ static int wpas_start_listen(void *ctx, unsigned int freq,
|
||||||
wpa_s->pending_listen_freq = 0;
|
wpa_s->pending_listen_freq = 0;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
wpa_s->off_channel_freq = 0;
|
||||||
wpa_s->roc_waiting_drv_freq = freq;
|
wpa_s->roc_waiting_drv_freq = freq;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
Loading…
Reference in a new issue