aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorDerTeufel <dominik-kassel@gmx.de>2014-12-25 21:03:34 +0100
committerrogersb11 <brettrogers11@gmail.com>2015-12-08 01:46:51 -0500
commite030f5a0b6445d2f2526abe16e233def99de97bb (patch)
tree91e337a81d72a86940bd7e1ac4d32be3f9a148e0 /net
parentafabf37012e839802f9f3819f621e16aa4acefd2 (diff)
downloadkernel_samsung_smdk4412-e030f5a0b6445d2f2526abe16e233def99de97bb.zip
kernel_samsung_smdk4412-e030f5a0b6445d2f2526abe16e233def99de97bb.tar.gz
kernel_samsung_smdk4412-e030f5a0b6445d2f2526abe16e233def99de97bb.tar.bz2
bcmdhd: update from i9305 source drop (1.141.15 --> 1.141.44)
Change-Id: I0b38869c9f0d5c8695e543b0fc363aff7c9e617a
Diffstat (limited to 'net')
-rw-r--r--net/wireless/nl80211.c8
-rw-r--r--net/wireless/scan.c17
2 files changed, 21 insertions, 4 deletions
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,