cfg80211: merge in beacon ies of hidden bss.
authorDmitry Tarnyagin <abi.dmitryt@gmail.com>
Fri, 4 Nov 2011 16:12:07 +0000 (17:12 +0100)
committerJohn W. Linville <linville@tuxdriver.com>
Fri, 11 Nov 2011 17:32:47 +0000 (12:32 -0500)
commitdd9dfb9f95e2141db672eb12a1d71892e9e481fb
treef804b9a7a7789bf167461de19a4bbfacce7c3a57
parent1eb54c8a0fa0061247f3bd327b320c3e20c97340
cfg80211: merge in beacon ies of hidden bss.

The problem with PSM when a hidden SSID was used was originally
reported by Juuso Oikarinen.

 - When generally scanning, the AP is getting a bss entry with
   a zero SSID.
 - When associating, a probe-req is sent to the AP with the SSID,
   and as a result a probe-response is received with the hidden
   SSID in place. As a consequence, a second bss entry is created
   for the AP, now with the real SSID.
 - After association, mac80211 executes ieee80211_recalc_ps(),
   but does not switch to powersave because the beacon-ies are missing.

As result, the STA does not ever enter PSM.

The patch merges in beacon ies of hidden bss from beacon to the probe
response, creating a consistent set of ies in place.

Patch is depended on "cfg80211: fix cmp_ies" made by Johannes.

Signed-off-by: Dmitry Tarnyagin <dmitry.tarnyagin@stericsson.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
net/wireless/scan.c