aboutsummaryrefslogtreecommitdiffstats
path: root/package/kernel/mac80211/patches/subsys
diff options
context:
space:
mode:
authorHauke Mehrtens <hauke@hauke-m.de>2019-11-21 22:46:21 +0100
committerHauke Mehrtens <hauke@hauke-m.de>2019-11-22 20:33:19 +0100
commite30ca0d90a98daea759cb8a5df29e139f1f4b887 (patch)
treebc1fd7141590544ccaa9e5880d062a0fcbdeba0d /package/kernel/mac80211/patches/subsys
parentb1ef0e443720d22c4742d801d0b2eac3628dde0b (diff)
downloadupstream-e30ca0d90a98daea759cb8a5df29e139f1f4b887.tar.gz
upstream-e30ca0d90a98daea759cb8a5df29e139f1f4b887.tar.bz2
upstream-e30ca0d90a98daea759cb8a5df29e139f1f4b887.zip
mac80211: update to version 4.19.85
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Diffstat (limited to 'package/kernel/mac80211/patches/subsys')
-rw-r--r--package/kernel/mac80211/patches/subsys/321-cfg80211-Add-airtime-statistics-and-settings.patch8
-rw-r--r--package/kernel/mac80211/patches/subsys/354-mac80211-calculate-hash-for-fq-without-holding-fq-lo.patch56
-rw-r--r--package/kernel/mac80211/patches/subsys/365-mac80211-IBSS-send-deauth-when-expiring-inactive-STA.patch6
-rw-r--r--package/kernel/mac80211/patches/subsys/370-backports-Adapt-to-changes-to-skb_get_hash_perturb.patch68
-rw-r--r--package/kernel/mac80211/patches/subsys/522-mac80211_configure_antenna_gain.patch4
5 files changed, 45 insertions, 97 deletions
diff --git a/package/kernel/mac80211/patches/subsys/321-cfg80211-Add-airtime-statistics-and-settings.patch b/package/kernel/mac80211/patches/subsys/321-cfg80211-Add-airtime-statistics-and-settings.patch
index 9078fc2596..9dac46842d 100644
--- a/package/kernel/mac80211/patches/subsys/321-cfg80211-Add-airtime-statistics-and-settings.patch
+++ b/package/kernel/mac80211/patches/subsys/321-cfg80211-Add-airtime-statistics-and-settings.patch
@@ -148,7 +148,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
MAX_NL80211_EXT_FEATURES = NUM_NL80211_EXT_FEATURES - 1
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -462,6 +462,7 @@ static const struct nla_policy nl80211_p
+@@ -463,6 +463,7 @@ static const struct nla_policy nl80211_p
[NL80211_ATTR_TXQ_QUANTUM] = { .type = NLA_U32 },
[NL80211_ATTR_HE_CAPABILITY] = { .type = NLA_BINARY,
.len = NL80211_HE_MAX_CAPABILITY_LEN },
@@ -156,7 +156,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
};
/* policy for the key attributes */
-@@ -4702,6 +4703,11 @@ static int nl80211_send_station(struct s
+@@ -4703,6 +4704,11 @@ static int nl80211_send_station(struct s
PUT_SINFO(PLID, plid, u16);
PUT_SINFO(PLINK_STATE, plink_state, u8);
PUT_SINFO_U64(RX_DURATION, rx_duration);
@@ -168,7 +168,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
switch (rdev->wiphy.signal_type) {
case CFG80211_SIGNAL_TYPE_MBM:
-@@ -5338,6 +5344,15 @@ static int nl80211_set_station(struct sk
+@@ -5339,6 +5345,15 @@ static int nl80211_set_station(struct sk
nla_get_u8(info->attrs[NL80211_ATTR_OPMODE_NOTIF]);
}
@@ -184,7 +184,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
/* Include parameters for TDLS peer (will check later) */
err = nl80211_set_station_tdls(info, &params);
if (err)
-@@ -5476,6 +5491,15 @@ static int nl80211_new_station(struct sk
+@@ -5477,6 +5492,15 @@ static int nl80211_new_station(struct sk
return -EINVAL;
}
diff --git a/package/kernel/mac80211/patches/subsys/354-mac80211-calculate-hash-for-fq-without-holding-fq-lo.patch b/package/kernel/mac80211/patches/subsys/354-mac80211-calculate-hash-for-fq-without-holding-fq-lo.patch
index 3084a4ba32..b5a49dbfe0 100644
--- a/package/kernel/mac80211/patches/subsys/354-mac80211-calculate-hash-for-fq-without-holding-fq-lo.patch
+++ b/package/kernel/mac80211/patches/subsys/354-mac80211-calculate-hash-for-fq-without-holding-fq-lo.patch
@@ -10,37 +10,53 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/include/net/fq_impl.h
+++ b/include/net/fq_impl.h
-@@ -107,21 +107,23 @@ begin:
+@@ -107,29 +107,31 @@ begin:
return skb;
}
-+static u32 fq_flow_idx(struct fq *fq, struct sk_buff *skb)
-+{
-+ u32 hash = skb_get_hash_perturb(skb, fq->perturbation);
-+
-+ return reciprocal_scale(hash, fq->flows_cnt);
-+}
-+
- static struct fq_flow *fq_flow_classify(struct fq *fq,
+-static struct fq_flow *fq_flow_classify(struct fq *fq,
- struct fq_tin *tin,
-+ struct fq_tin *tin, u32 idx,
- struct sk_buff *skb,
- fq_flow_get_default_t get_default_func)
+- struct sk_buff *skb,
+- fq_flow_get_default_t get_default_func)
++static u32 fq_flow_idx(struct fq *fq, struct sk_buff *skb)
{
- struct fq_flow *flow;
+- struct fq_flow *flow;
- u32 hash;
- u32 idx;
-
- lockdep_assert_held(&fq->lock);
-
+-
+- lockdep_assert_held(&fq->lock);
+-
+ #if LINUX_VERSION_IS_GEQ(5,3,10) || \
+ LINUX_VERSION_IN_RANGE(4,19,83, 4,20,0) || \
+ LINUX_VERSION_IN_RANGE(4,14,153, 4,15,0) || \
+ LINUX_VERSION_IN_RANGE(4,9,200, 4,10,0) || \
+ LINUX_VERSION_IN_RANGE(4,4,200, 4,5,0)
+- hash = skb_get_hash_perturb(skb, &fq->perturbation);
++ u32 hash = skb_get_hash_perturb(skb, &fq->perturbation);
+ #else
- hash = skb_get_hash_perturb(skb, fq->perturbation);
++ u32 hash = skb_get_hash_perturb(skb, fq->perturbation);
+ #endif
- idx = reciprocal_scale(hash, fq->flows_cnt);
- flow = &fq->flows[idx];
--
+- flow = &fq->flows[idx];
+
++ return reciprocal_scale(hash, fq->flows_cnt);
++}
++
++static struct fq_flow *fq_flow_classify(struct fq *fq,
++ struct fq_tin *tin, u32 idx,
++ struct sk_buff *skb,
++ fq_flow_get_default_t get_default_func)
++{
++ struct fq_flow *flow;
++
++ lockdep_assert_held(&fq->lock);
++
++ flow = &fq->flows[idx];
if (flow->tin && flow->tin != tin) {
flow = get_default_func(fq, tin, idx, skb);
tin->collisions++;
-@@ -153,7 +155,7 @@ static void fq_recalc_backlog(struct fq
+@@ -161,7 +163,7 @@ static void fq_recalc_backlog(struct fq
}
static void fq_tin_enqueue(struct fq *fq,
@@ -49,7 +65,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
struct sk_buff *skb,
fq_skb_free_t free_func,
fq_flow_get_default_t get_default_func)
-@@ -163,7 +165,7 @@ static void fq_tin_enqueue(struct fq *fq
+@@ -171,7 +173,7 @@ static void fq_tin_enqueue(struct fq *fq
lockdep_assert_held(&fq->lock);
diff --git a/package/kernel/mac80211/patches/subsys/365-mac80211-IBSS-send-deauth-when-expiring-inactive-STA.patch b/package/kernel/mac80211/patches/subsys/365-mac80211-IBSS-send-deauth-when-expiring-inactive-STA.patch
index 5b5acded9a..61b6d2b8d4 100644
--- a/package/kernel/mac80211/patches/subsys/365-mac80211-IBSS-send-deauth-when-expiring-inactive-STA.patch
+++ b/package/kernel/mac80211/patches/subsys/365-mac80211-IBSS-send-deauth-when-expiring-inactive-STA.patch
@@ -78,7 +78,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
}
/* flush out frame - make sure the deauth was actually sent */
-@@ -4371,7 +4372,7 @@ void ieee80211_mgd_quiesce(struct ieee80
+@@ -4369,7 +4370,7 @@ void ieee80211_mgd_quiesce(struct ieee80
* cfg80211 won't know and won't actually abort those attempts,
* thus we need to do that ourselves.
*/
@@ -87,7 +87,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
IEEE80211_STYPE_DEAUTH,
WLAN_REASON_DEAUTH_LEAVING,
false, frame_buf);
-@@ -5351,7 +5352,7 @@ int ieee80211_mgd_deauth(struct ieee8021
+@@ -5349,7 +5350,7 @@ int ieee80211_mgd_deauth(struct ieee8021
ieee80211_get_reason_code_string(req->reason_code));
drv_mgd_prepare_tx(sdata->local, sdata, 0);
@@ -96,7 +96,7 @@ Signed-off-by: Johannes Berg <johannes.berg@intel.com>
IEEE80211_STYPE_DEAUTH,
req->reason_code, tx,
frame_buf);
-@@ -5371,7 +5372,7 @@ int ieee80211_mgd_deauth(struct ieee8021
+@@ -5369,7 +5370,7 @@ int ieee80211_mgd_deauth(struct ieee8021
ieee80211_get_reason_code_string(req->reason_code));
drv_mgd_prepare_tx(sdata->local, sdata, 0);
diff --git a/package/kernel/mac80211/patches/subsys/370-backports-Adapt-to-changes-to-skb_get_hash_perturb.patch b/package/kernel/mac80211/patches/subsys/370-backports-Adapt-to-changes-to-skb_get_hash_perturb.patch
deleted file mode 100644
index c138055986..0000000000
--- a/package/kernel/mac80211/patches/subsys/370-backports-Adapt-to-changes-to-skb_get_hash_perturb.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From e3c57dd949835419cee8d3b45db38de58bf6ebd5 Mon Sep 17 00:00:00 2001
-From: Hauke Mehrtens <hauke@hauke-m.de>
-Date: Mon, 18 Nov 2019 01:13:37 +0100
-Subject: [PATCH] backports: Adapt to changes to skb_get_hash_perturb()
-
-The skb_get_hash_perturb() function now takes a siphash_key_t instead of
-an u32. This was changed in commit 55667441c84f ("net/flow_dissector:
-switch to siphash"). Use the correct type in the fq header file
-depending on the kernel version.
-
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- include/net/fq.h | 8 ++++++++
- include/net/fq_impl.h | 8 ++++++++
- 2 files changed, 16 insertions(+)
-
---- a/include/net/fq.h
-+++ b/include/net/fq.h
-@@ -70,7 +70,15 @@ struct fq {
- struct list_head backlogs;
- spinlock_t lock;
- u32 flows_cnt;
-+#if LINUX_VERSION_IS_GEQ(5,3,10) || \
-+ LINUX_VERSION_IN_RANGE(4,19,83, 4,20,0) || \
-+ LINUX_VERSION_IN_RANGE(4,14,153, 4,15,0) || \
-+ LINUX_VERSION_IN_RANGE(4,9,200, 4,10,0) || \
-+ LINUX_VERSION_IN_RANGE(4,4,200, 4,5,0)
-+ siphash_key_t perturbation;
-+#else
- u32 perturbation;
-+#endif
- u32 limit;
- u32 memory_limit;
- u32 memory_usage;
---- a/include/net/fq_impl.h
-+++ b/include/net/fq_impl.h
-@@ -109,7 +109,15 @@ begin:
-
- static u32 fq_flow_idx(struct fq *fq, struct sk_buff *skb)
- {
-+#if LINUX_VERSION_IS_GEQ(5,3,10) || \
-+ LINUX_VERSION_IN_RANGE(4,19,83, 4,20,0) || \
-+ LINUX_VERSION_IN_RANGE(4,14,153, 4,15,0) || \
-+ LINUX_VERSION_IN_RANGE(4,9,200, 4,10,0) || \
-+ LINUX_VERSION_IN_RANGE(4,4,200, 4,5,0)
-+ u32 hash = skb_get_hash_perturb(skb, &fq->perturbation);
-+#else
- u32 hash = skb_get_hash_perturb(skb, fq->perturbation);
-+#endif
-
- return reciprocal_scale(hash, fq->flows_cnt);
- }
-@@ -309,7 +317,15 @@ static int fq_init(struct fq *fq, int fl
- INIT_LIST_HEAD(&fq->backlogs);
- spin_lock_init(&fq->lock);
- fq->flows_cnt = max_t(u32, flows_cnt, 1);
-+#if LINUX_VERSION_IS_GEQ(5,3,10) || \
-+ LINUX_VERSION_IN_RANGE(4,19,83, 4,20,0) || \
-+ LINUX_VERSION_IN_RANGE(4,14,153, 4,15,0) || \
-+ LINUX_VERSION_IN_RANGE(4,9,200, 4,10,0) || \
-+ LINUX_VERSION_IN_RANGE(4,4,200, 4,5,0)
-+ get_random_bytes(&fq->perturbation, sizeof(fq->perturbation));
-+#else
- fq->perturbation = prandom_u32();
-+#endif
- fq->quantum = 300;
- fq->limit = 8192;
- fq->memory_limit = 16 << 20; /* 16 MBytes */
diff --git a/package/kernel/mac80211/patches/subsys/522-mac80211_configure_antenna_gain.patch b/package/kernel/mac80211/patches/subsys/522-mac80211_configure_antenna_gain.patch
index e0c3d24f74..4c4eb7917e 100644
--- a/package/kernel/mac80211/patches/subsys/522-mac80211_configure_antenna_gain.patch
+++ b/package/kernel/mac80211/patches/subsys/522-mac80211_configure_antenna_gain.patch
@@ -129,7 +129,7 @@
local->user_power_level = IEEE80211_UNSET_POWER_LEVEL;
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
-@@ -463,6 +463,7 @@ static const struct nla_policy nl80211_p
+@@ -464,6 +464,7 @@ static const struct nla_policy nl80211_p
[NL80211_ATTR_HE_CAPABILITY] = { .type = NLA_BINARY,
.len = NL80211_HE_MAX_CAPABILITY_LEN },
[NL80211_ATTR_AIRTIME_WEIGHT] = NLA_POLICY_MIN(NLA_U16, 1),
@@ -137,7 +137,7 @@
};
/* policy for the key attributes */
-@@ -2622,6 +2623,20 @@ static int nl80211_set_wiphy(struct sk_b
+@@ -2623,6 +2624,20 @@ static int nl80211_set_wiphy(struct sk_b
if (result)
return result;
}