]> git.ipfire.org Git - thirdparty/hostap.git/commit - src/p2p/p2p.c
P2P: Fix remain-on-channel use with PD/Invitation Request while in Listen
authorJouni Malinen <jouni@qca.qualcomm.com>
Mon, 27 Feb 2012 15:23:41 +0000 (17:23 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 27 Feb 2012 15:23:41 +0000 (17:23 +0200)
commit1a9c618d3f465b974a724dc2cb3e4030837e2982
tree811f90704d99c49f0040b347758bb05ad8dc365a
parente62f4ed0df72987f874b9bc5c9fa8bec938133ac
P2P: Fix remain-on-channel use with PD/Invitation Request while in Listen

If Listen state was in progress on another channel when a request to
send an Action frame (e.g., Provision Discovery Request or Invitation
Request to a peer on the peer's Listen channel that is different from
our Listenc hannel) is issued, wpa_supplicant tried to use concurrent
remain-on-channel operations. While some drivers can handle this
cleanly, there are drivers that don't and wpa_supplicant is not expected
to request concurrent remain-on-channel operations.

Fix this by cancelling the ongoing remain-on-channel with stop_listen
prior to sending the Action frame on another channel. If a P2P search
was in progress, it will be continued after the timeout on the new
operation.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
src/p2p/p2p.c
src/p2p/p2p_i.h
src/p2p/p2p_invitation.c
src/p2p/p2p_pd.c