diff options
| author | Jouni Malinen <j@w1.fi> | 2012-09-13 18:03:14 -0700 |
|---|---|---|
| committer | Dmitry Shmidt <dimitrysh@google.com> | 2012-09-14 12:54:35 -0700 |
| commit | 043a5a9d2586bf379a3f3e811c8c64d92050e131 (patch) | |
| tree | 37f8988b986d01e0c7ab14020fa130e203222744 | |
| parent | dc7b71324df9788e194745e8ab9386a4619a623a (diff) | |
| download | android_external_wpa_supplicant_8-043a5a9d2586bf379a3f3e811c8c64d92050e131.tar.gz android_external_wpa_supplicant_8-043a5a9d2586bf379a3f3e811c8c64d92050e131.tar.bz2 android_external_wpa_supplicant_8-043a5a9d2586bf379a3f3e811c8c64d92050e131.zip | |
P2P: Check all interfaces for pending scan for p2p_scan failures
Driver could reject the new scan based on any virtual interface
running a concurrent scan. As such, mark the pending scan callback
for P2P based on any interfaces instead of just the one used for
the p2p_scan operation.
Signed-hostap: Jouni Malinen <j@w1.fi>
| -rw-r--r-- | wpa_supplicant/p2p_supplicant.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/wpa_supplicant/p2p_supplicant.c b/wpa_supplicant/p2p_supplicant.c index 1b26ddfd..f8db14ed 100644 --- a/wpa_supplicant/p2p_supplicant.c +++ b/wpa_supplicant/p2p_supplicant.c @@ -201,10 +201,13 @@ static int wpas_p2p_scan(void *ctx, enum p2p_scan_type type, int freq, wpabuf_free(ies); if (ret) { - if (wpa_s->scanning || - wpa_s->scan_res_handler == wpas_p2p_scan_res_handler) { - wpa_s->global->p2p_cb_on_scan_complete = 1; - ret = 1; + for (ifs = wpa_s->global->ifaces; ifs; ifs = ifs->next) { + if (ifs->scanning || + ifs->scan_res_handler == wpas_p2p_scan_res_handler) { + wpa_s->global->p2p_cb_on_scan_complete = 1; + ret = 1; + break; + } } } else wpa_s->scan_res_handler = wpas_p2p_scan_res_handler; |
