From e030f5a0b6445d2f2526abe16e233def99de97bb Mon Sep 17 00:00:00 2001 From: DerTeufel Date: Thu, 25 Dec 2014 21:03:34 +0100 Subject: bcmdhd: update from i9305 source drop (1.141.15 --> 1.141.44) Change-Id: I0b38869c9f0d5c8695e543b0fc363aff7c9e617a --- net/wireless/nl80211.c | 8 +++++--- net/wireless/scan.c | 17 ++++++++++++++++- 2 files changed, 21 insertions(+), 4 deletions(-) (limited to 'net') diff --git a/net/wireless/nl80211.c b/net/wireless/nl80211.c index f53ba4e..439bdad 100644 --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c @@ -4565,10 +4565,12 @@ static int nl80211_crypto_settings(struct cfg80211_registered_device *rdev, if (len % sizeof(u32)) return -EINVAL; - if (settings->n_akm_suites > NL80211_MAX_NR_AKM_SUITES) - return -EINVAL; - memcpy(settings->akm_suites, data, len); +#if 0 /* Below codes to validate AKM suites are not valid over the Linux Kernel ver 3.8 */ + for (i = 0; i < settings->n_akm_suites; i++) + if (!nl80211_valid_akm_suite(settings->akm_suites[i])) + return -EINVAL; +#endif } return 0; diff --git a/net/wireless/scan.c b/net/wireless/scan.c index 16fc437..ce793bd 100644 --- a/net/wireless/scan.c +++ b/net/wireless/scan.c @@ -17,7 +17,7 @@ #include "nl80211.h" #include "wext-compat.h" -#define IEEE80211_SCAN_RESULT_EXPIRE (3 * HZ) +#define IEEE80211_SCAN_RESULT_EXPIRE (6 * HZ) void ___cfg80211_scan_done(struct cfg80211_registered_device *rdev, bool leak) { @@ -330,8 +330,14 @@ static int cmp_bss(struct cfg80211_bss *a, { int r; +#if !(defined(CONFIG_BCM4335) || defined(CONFIG_BCM4335_MODULE) \ + || defined(CONFIG_BCM4339) || defined(CONFIG_BCM4339_MODULE) \ + || defined(CONFIG_BCM4354) || defined(CONFIG_BCM4354_MODULE) \ + || defined(CONFIG_BCM4356) || defined(CONFIG_BCM4356_MODULE) \ + || defined(CONFIG_BCM4358) || defined(CONFIG_BCM4358_MODULE)) if (a->channel != b->channel) return b->channel->center_freq - a->channel->center_freq; +#endif /* CONFIG_BCM43xx */ if (is_mesh_bss(a) && is_mesh_bss(b)) { r = cmp_ies(WLAN_EID_MESH_ID, @@ -352,6 +358,15 @@ static int cmp_bss(struct cfg80211_bss *a, if (r) return r; +#if (defined(CONFIG_BCM4335) || defined(CONFIG_BCM4335_MODULE) \ + || defined(CONFIG_BCM4339) || defined(CONFIG_BCM4339_MODULE) \ + || defined(CONFIG_BCM4354) || defined(CONFIG_BCM4354_MODULE) \ + || defined(CONFIG_BCM4356) || defined(CONFIG_BCM4356_MODULE) \ + || defined(CONFIG_BCM4358) || defined(CONFIG_BCM4358_MODULE)) + if (a->channel != b->channel) + return b->channel->center_freq - a->channel->center_freq; +#endif /* CONFIG_BCM43xx */ + return cmp_ies(WLAN_EID_SSID, a->information_elements, a->len_information_elements, -- cgit v1.1