hostapd/src/p2p
Jouni Malinen 54b8f99454 P2P: Fix a race condition in some P2P command sequencies
The p2p->drv_in_listen variable is used to track Listen state operations
in the driver. This is cleared when the driver reports that the Listen
state has ended (p2p_listen_end() gets called). However, it is possible
that the driver does not indicate that if the Listen state is canceled.
This can apparently happen in some cases where p2p_connect command is
issues while the Listen state is in progress.

Work around this issue by clearing p2p->drv_in_listen when Listen state
is stopped as part of p2p_stop operation. This allows the P2P module to
process CONNECT_LISTEN timeout in p2p_timeout_connect_listen() to move
to CONNECT state, e.g., when starting GO Negotiation after Device
Discoverability mechanism.
2011-09-22 22:49:21 +03:00
..
Makefile P2P: Add initial version of P2P Module 2010-09-09 07:17:17 -07:00
p2p.c P2P: Fix a race condition in some P2P command sequencies 2011-09-22 22:49:21 +03:00
p2p.h P2P: Remove Label config method 2011-09-08 16:40:03 +03:00
p2p_build.c P2P: Allow advertisement config methods to be limited 2011-09-08 16:48:06 +03:00
p2p_dev_disc.c P2P: Embed publically visible struct in peer info 2011-02-24 21:51:17 +02:00
p2p_go_neg.c P2P: Remove Label config method 2011-09-08 16:40:03 +03:00
p2p_group.c P2P: Allow access to group members 2010-12-17 18:34:16 +02:00
p2p_i.h P2P: Show P2P peer signal level in D-Bus P2P device properties 2011-06-23 21:29:10 +03:00
p2p_invitation.c P2P: Embed publically visible struct in peer info 2011-02-24 21:51:17 +02:00
p2p_parse.c P2P: Store more WPS attributes for peers 2011-03-28 15:27:10 +03:00
p2p_pd.c P2P: Add callback for provision discovery failure 2011-06-12 14:26:22 -07:00
p2p_sd.c P2P: Embed publically visible struct in peer info 2011-02-24 21:51:17 +02:00
p2p_utils.c P2P: Reject multi-channel concurrent operations depending on driver 2010-10-14 14:24:56 +03:00