P2P: Fix infinite loop on interface selection for Action frame TX
When the first wpa_supplicant interface is not the correct one for transmitting an Action frame (e.g., P2P Presence Request frame uses a group interface), the code got stuck in an infinite busy loop. Fix the iteration to go through the interfaces properly.
This commit is contained in:
parent
962473c136
commit
d6ae995057
1 changed files with 2 additions and 1 deletions
|
@ -497,7 +497,7 @@ static void wpas_send_action_cb(void *eloop_ctx, void *timeout_ctx)
|
|||
* driver uses a separate interface for that purpose. However, some
|
||||
* Action frames are actually sent within a P2P Group and when that is
|
||||
* the case, we need to follow power saving (e.g., GO buffering the
|
||||
* frame for a client in PS mode or a client following the adverised
|
||||
* frame for a client in PS mode or a client following the advertised
|
||||
* NoA from its GO). To make that easier for the driver, select the
|
||||
* correct group interface here.
|
||||
*/
|
||||
|
@ -512,6 +512,7 @@ static void wpas_send_action_cb(void *eloop_ctx, void *timeout_ctx)
|
|||
if (os_memcmp(wpa_s->pending_action_src,
|
||||
iface->own_addr, ETH_ALEN) == 0)
|
||||
break;
|
||||
iface = iface->next;
|
||||
}
|
||||
if (iface) {
|
||||
wpa_printf(MSG_DEBUG, "P2P: Use group interface %s "
|
||||
|
|
Loading…
Reference in a new issue