diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2019-11-21 22:46:21 +0100 |
---|---|---|
committer | Hauke Mehrtens <hauke@hauke-m.de> | 2019-11-22 20:33:19 +0100 |
commit | e30ca0d90a98daea759cb8a5df29e139f1f4b887 (patch) | |
tree | bc1fd7141590544ccaa9e5880d062a0fcbdeba0d /package/kernel/mac80211/patches/subsys | |
parent | b1ef0e443720d22c4742d801d0b2eac3628dde0b (diff) | |
download | upstream-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')
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, ¶ms); 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; } |