diff mbox

Improve passive scanning: check not only for proberesp_ies but also for beacon_ies

Message ID 50B4CDE7.9040308@neratec.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Matthias May Nov. 27, 2012, 2:27 p.m. UTC
Improve passive scanning: check not only for proberesp_ies but also 
for beacon_ies
     Without this improvement, it always attempts to send a probe 
request (which it's not allowed) and then wait for auth_data->timeout.

     The log without patch:
     Jan  1 02:48:03 (none) kern.info kernel: [10084.062491] wlan0: 
authenticate with 04:f0:21:02:46:93
     Jan  1 02:48:03 (none) kern.info kernel: [10084.064933] wlan0: 
direct probe to 04:f0:21:02:46:93 (try 1/3)
     Jan  1 02:48:04 (none) kern.info kernel: [10084.078417] wlan0: send 
auth to 04:f0:21:02:46:93 (try 2/3)
     Jan  1 02:48:04 (none) kern.info kernel: [10084.079363] wlan0: 
authenticated
     Jan  1 02:48:04 (none) kern.info kernel: [10084.082648] wlan0: 
associate with 04:f0:21:02:46:93 (try 1/3)
     Jan  1 02:48:04 (none) kern.info kernel: [10084.083726] wlan0: RX 
AssocResp from 04:f0:21:02:46:93 (capab=0x11 status=0 aid=1)

     The log with patch:
     Jan  1 02:46:25 (none) kern.info kernel: [ 9985.696798] wlan0: 
authenticate with 04:f0:21:02:46:53
     Jan  1 02:46:25 (none) kern.info kernel: [ 9985.699234] wlan0: send 
auth to 04:f0:21:02:46:53 (try 1/3)
     Jan  1 02:46:25 (none) kern.info kernel: [ 9985.700211] wlan0: 
authenticated
     Jan  1 02:46:25 (none) kern.info kernel: [ 9985.702583] wlan0: 
associate with 04:f0:21:02:46:53 (try 1/3)
     Jan  1 02:46:25 (none) kern.info kernel: [ 9985.703624] wlan0: RX 
AssocResp from 04:f0:21:02:46:53 (capab=0x11 status=0 aid=1)


Signed-off-by: Matthias May <matthias.may@neratec.com>
---
  net/mac80211/mlme.c |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
diff mbox

Patch

diff --git a/net/mac80211/mlme.c b/net/mac80211/mlme.c
index d2a4f78..fae5f9c 100644
--- a/net/mac80211/mlme.c
+++ b/net/mac80211/mlme.c
@@ -2817,7 +2817,7 @@  static int ieee80211_probe_auth(struct 
ieee80211_sub_if_data *sdata)

         drv_mgd_prepare_tx(local, sdata);

-       if (auth_data->bss->proberesp_ies) {
+       if (auth_data->bss->proberesp_ies || auth_data->bss->beacon_ies) {
                 u16 trans = 1;
                 u16 status = 0;