diff mbox

cfg80211: update information elements in cached BSS struct

Message ID 1291891690-26118-1-git-send-email-s.neumann@raumfeld.com (mailing list archive)
State Not Applicable, archived
Headers show

Commit Message

Sven Neumann Dec. 9, 2010, 10:48 a.m. UTC
None
diff mbox

Patch

diff --git a/net/wireless/scan.c b/net/wireless/scan.c
index 503ebb8..629bfaa 100644
--- a/net/wireless/scan.c
+++ b/net/wireless/scan.c
@@ -465,6 +465,9 @@  cfg80211_bss_update(struct cfg80211_registered_device *dev,
 			size_t used = dev->wiphy.bss_priv_size + sizeof(*res);
 			size_t ielen = res->pub.len_beacon_ies;
 
+                        int information_elements_is_beacon_ies =
+                                (found->pub.information_elements == found->pub.beacon_ies);
+
 			if (found->pub.beacon_ies &&
 			    !found->beacon_ies_allocated &&
 			    ksize(found) >= used + ielen) {
@@ -487,6 +490,11 @@  cfg80211_bss_update(struct cfg80211_registered_device *dev,
 					found->pub.len_beacon_ies = ielen;
 				}
 			}
+
+                        if (information_elements_is_beacon_ies) {
+                                found->pub.information_elements = found->pub.beacon_ies;
+                                found->pub.len_information_elements = found->pub.len_beacon_ies;
+                        }
 		}
 
 		kref_put(&res->ref, bss_release);