nl80211: Indicate EVENT_TX_WAIT_EXPIRE on match-saved

The event indicating expiration of an offchannel TX is useful for cases
where the wait is for a frame that was explicitly requested to have the
pending cookie to be saved.

Signed-off-by: Jouni Malinen <j@w1.fi>
This commit is contained in:
Jouni Malinen 2024-03-02 19:34:17 +02:00
parent 451d299528
commit 963dbad7dc

View file

@ -3736,8 +3736,11 @@ static void nl80211_frame_wait_cancel(struct wpa_driver_nl80211_data *drv,
(long long unsigned int) cookie,
match ? " (match)" : "",
drv->send_frame_cookie == cookie ? " (match-saved)" : "");
if (drv->send_frame_cookie == cookie)
if (drv->send_frame_cookie == cookie) {
drv->send_frame_cookie = (u64) -1;
if (!match)
goto send_event;
}
if (!match)
return;
@ -3747,6 +3750,7 @@ static void nl80211_frame_wait_cancel(struct wpa_driver_nl80211_data *drv,
(drv->num_send_frame_cookies - i - 1) * sizeof(u64));
drv->num_send_frame_cookies--;
send_event:
wpa_supplicant_event(drv->ctx, EVENT_TX_WAIT_EXPIRE, NULL);
}