cfg80211: fix BSS list hidden SSID lookup
authorJohannes Berg <johannes.berg@intel.com>
Fri, 1 Feb 2013 18:20:03 +0000 (19:20 +0100)
committerJohannes Berg <johannes.berg@intel.com>
Mon, 4 Feb 2013 17:57:41 +0000 (18:57 +0100)
commit4593c4cbe1c96b3995727dc42f6aa103f4ff5afc
treebead4ef70dd54b804d560fa1968f05c89917bb6e
parent5622f5bb8dd3cafe0e56014ed03e31957d1b4a03
cfg80211: fix BSS list hidden SSID lookup

When trying to find a hidden SSID, the lookup function
is done wrong; the code is trying to combine the two
lookups into one, and as a consequence doesn't always
find the entry at all. To understand this, consider a
case where multiple BSS entries with the same channel
and BSSID exist but have different SSID length. Then
comparing against the probe response SSID length is
bound to cause problems since the hidden one might be
either zeroed out or zero-length.

To fix this we need to do two lookups for the two ways
to hide SSIDs.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/scan.c