diff options
Diffstat (limited to 'package/kernel/mac80211/patches')
18 files changed, 34 insertions, 214 deletions
diff --git a/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch b/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch index 89e26af763..020e2bbab5 100644 --- a/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch +++ b/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch @@ -1,6 +1,6 @@ --- a/net/wireless/reg.c +++ b/net/wireless/reg.c -@@ -3042,6 +3042,8 @@ void regulatory_hint_country_ie(struct w +@@ -3045,6 +3045,8 @@ void regulatory_hint_country_ie(struct w enum environment_cap env = ENVIRON_ANY; struct regulatory_request *request = NULL, *lr; @@ -9,7 +9,7 @@ /* IE len must be evenly divisible by 2 */ if (country_ie_len & 0x01) return; -@@ -3293,6 +3295,7 @@ static bool is_wiphy_all_set_reg_flag(en +@@ -3296,6 +3298,7 @@ static bool is_wiphy_all_set_reg_flag(en void regulatory_hint_disconnect(void) { diff --git a/package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch b/package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch index 069aab8249..4e79111377 100644 --- a/package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch +++ b/package/kernel/mac80211/patches/brcm/861-brcmfmac-workaround-bug-with-some-inconsistent-BSSes.patch @@ -10,7 +10,7 @@ Signed-off-by: Rafał Miłecki <zajec5@gmail.com> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -712,8 +712,36 @@ static struct wireless_dev *brcmf_cfg802 +@@ -714,8 +714,36 @@ static struct wireless_dev *brcmf_cfg802 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy); struct brcmf_pub *drvr = cfg->pub; struct wireless_dev *wdev; diff --git a/package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch b/package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch index 8a20ae133a..91bf464ede 100644 --- a/package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch +++ b/package/kernel/mac80211/patches/brcm/862-brcmfmac-Disable-power-management.patch @@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org> --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -2953,6 +2953,10 @@ brcmf_cfg80211_set_power_mgmt(struct wip +@@ -2955,6 +2955,10 @@ brcmf_cfg80211_set_power_mgmt(struct wip * preference in cfg struct to apply this to * FW later while initializing the dongle */ diff --git a/package/kernel/mac80211/patches/brcm/998-survey.patch b/package/kernel/mac80211/patches/brcm/998-survey.patch index bcab2e3f3c..7feca97e9f 100644 --- a/package/kernel/mac80211/patches/brcm/998-survey.patch +++ b/package/kernel/mac80211/patches/brcm/998-survey.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c -@@ -2905,6 +2905,63 @@ done: +@@ -2907,6 +2907,63 @@ done: } static int @@ -64,7 +64,7 @@ brcmf_cfg80211_dump_station(struct wiphy *wiphy, struct net_device *ndev, int idx, u8 *mac, struct station_info *sinfo) { -@@ -2994,6 +3051,7 @@ static s32 brcmf_inform_single_bss(struc +@@ -3002,6 +3059,7 @@ static s32 brcmf_inform_single_bss(struc struct brcmu_chan ch; u16 channel; u32 freq; @@ -72,7 +72,7 @@ u16 notify_capability; u16 notify_interval; u8 *notify_ie; -@@ -3018,6 +3076,17 @@ static s32 brcmf_inform_single_bss(struc +@@ -3026,6 +3084,17 @@ static s32 brcmf_inform_single_bss(struc band = NL80211_BAND_5GHZ; freq = ieee80211_channel_to_frequency(channel, band); @@ -90,7 +90,7 @@ bss_data.chan = ieee80211_get_channel(wiphy, freq); bss_data.scan_width = NL80211_BSS_CHAN_WIDTH_20; bss_data.boottime_ns = ktime_to_ns(ktime_get_boottime()); -@@ -5470,6 +5539,7 @@ static struct cfg80211_ops brcmf_cfg8021 +@@ -5478,6 +5547,7 @@ static struct cfg80211_ops brcmf_cfg8021 .leave_ibss = brcmf_cfg80211_leave_ibss, .get_station = brcmf_cfg80211_get_station, .dump_station = brcmf_cfg80211_dump_station, diff --git a/package/kernel/mac80211/patches/build/050-lib80211_option.patch b/package/kernel/mac80211/patches/build/050-lib80211_option.patch index c6174449c6..b2465b0d7e 100644 --- a/package/kernel/mac80211/patches/build/050-lib80211_option.patch +++ b/package/kernel/mac80211/patches/build/050-lib80211_option.patch @@ -9,7 +9,7 @@ depends on m default n help -@@ -197,18 +197,18 @@ config LIB80211 +@@ -197,19 +197,19 @@ config LIB80211 Drivers should select this themselves if needed. config LIB80211_CRYPT_WEP @@ -22,6 +22,7 @@ - tristate + tristate "lib80211 CCMP support" depends on m + depends on CRYPTO depends on CRYPTO_AES depends on CRYPTO_CCM diff --git a/package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch b/package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch index e56055caff..2333ca2dad 100644 --- a/package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch +++ b/package/kernel/mac80211/patches/subsys/110-mac80211_keep_keys_on_stop_ap.patch @@ -2,7 +2,7 @@ Used for AP+STA support in OpenWrt - preserve AP mode keys across STA reconnects --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c -@@ -1197,7 +1197,6 @@ static int ieee80211_stop_ap(struct wiph +@@ -1198,7 +1198,6 @@ static int ieee80211_stop_ap(struct wiph sdata->vif.bss_conf.ftmr_params = NULL; __sta_info_flush(sdata, true); diff --git a/package/kernel/mac80211/patches/subsys/210-ap_scan.patch b/package/kernel/mac80211/patches/subsys/210-ap_scan.patch index 8ccab8cf66..fccb1ebffa 100644 --- a/package/kernel/mac80211/patches/subsys/210-ap_scan.patch +++ b/package/kernel/mac80211/patches/subsys/210-ap_scan.patch @@ -1,6 +1,6 @@ --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c -@@ -2345,7 +2345,7 @@ static int ieee80211_scan(struct wiphy * +@@ -2346,7 +2346,7 @@ static int ieee80211_scan(struct wiphy * * the frames sent while scanning on other channel will be * lost) */ diff --git a/package/kernel/mac80211/patches/subsys/300-mac80211-optimize-skb-resizing.patch b/package/kernel/mac80211/patches/subsys/300-mac80211-optimize-skb-resizing.patch index bcdfa22fff..cb70670e52 100644 --- a/package/kernel/mac80211/patches/subsys/300-mac80211-optimize-skb-resizing.patch +++ b/package/kernel/mac80211/patches/subsys/300-mac80211-optimize-skb-resizing.patch @@ -36,7 +36,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> void ieee80211_apply_htcap_overrides(struct ieee80211_sub_if_data *sdata, --- a/net/mac80211/status.c +++ b/net/mac80211/status.c -@@ -843,6 +843,11 @@ void ieee80211_tx_monitor(struct ieee802 +@@ -846,6 +846,11 @@ void ieee80211_tx_monitor(struct ieee802 struct net_device *prev_dev = NULL; int rtap_len; diff --git a/package/kernel/mac80211/patches/subsys/307-mac80211-add-a-function-for-running-rx-without-passi.patch b/package/kernel/mac80211/patches/subsys/307-mac80211-add-a-function-for-running-rx-without-passi.patch index 1bcb41461e..802d57497c 100644 --- a/package/kernel/mac80211/patches/subsys/307-mac80211-add-a-function-for-running-rx-without-passi.patch +++ b/package/kernel/mac80211/patches/subsys/307-mac80211-add-a-function-for-running-rx-without-passi.patch @@ -58,7 +58,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> struct ieee80211_sub_if_data *sdata; --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c -@@ -2578,8 +2578,8 @@ static void ieee80211_deliver_skb_to_loc +@@ -2579,8 +2579,8 @@ static void ieee80211_deliver_skb_to_loc memset(skb->cb, 0, sizeof(skb->cb)); /* deliver to local stack */ @@ -69,7 +69,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> else netif_receive_skb(skb); } -@@ -3869,7 +3869,6 @@ void ieee80211_release_reorder_timeout(s +@@ -3870,7 +3870,6 @@ void ieee80211_release_reorder_timeout(s /* This is OK -- must be QoS data frame */ .security_idx = tid, .seqno_idx = tid, @@ -77,7 +77,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> }; struct tid_ampdu_rx *tid_agg_rx; -@@ -4479,8 +4478,8 @@ static bool ieee80211_invoke_fast_rx(str +@@ -4480,8 +4479,8 @@ static bool ieee80211_invoke_fast_rx(str /* deliver to local stack */ skb->protocol = eth_type_trans(skb, fast_rx->dev); memset(skb->cb, 0, sizeof(skb->cb)); @@ -88,7 +88,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> else netif_receive_skb(skb); -@@ -4547,7 +4546,7 @@ static bool ieee80211_prepare_and_rx_han +@@ -4548,7 +4547,7 @@ static bool ieee80211_prepare_and_rx_han static void __ieee80211_rx_handle_packet(struct ieee80211_hw *hw, struct ieee80211_sta *pubsta, struct sk_buff *skb, @@ -97,7 +97,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> { struct ieee80211_local *local = hw_to_local(hw); struct ieee80211_sub_if_data *sdata; -@@ -4562,7 +4561,7 @@ static void __ieee80211_rx_handle_packet +@@ -4563,7 +4562,7 @@ static void __ieee80211_rx_handle_packet memset(&rx, 0, sizeof(rx)); rx.skb = skb; rx.local = local; @@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> if (ieee80211_is_data(fc) || ieee80211_is_mgmt(fc)) I802_DEBUG_INC(local->dot11ReceivedFragmentCount); -@@ -4670,8 +4669,8 @@ static void __ieee80211_rx_handle_packet +@@ -4671,8 +4670,8 @@ static void __ieee80211_rx_handle_packet * This is the receive path handler. It is called by a low level driver when an * 802.11 MPDU is received from the hardware. */ @@ -117,7 +117,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> { struct ieee80211_local *local = hw_to_local(hw); struct ieee80211_rate *rate = NULL; -@@ -4763,36 +4762,53 @@ void ieee80211_rx_napi(struct ieee80211_ +@@ -4764,36 +4763,53 @@ void ieee80211_rx_napi(struct ieee80211_ status->rx_flags = 0; /* diff --git a/package/kernel/mac80211/patches/subsys/310-mac80211-reduce-packet-loss-event-false-positives.patch b/package/kernel/mac80211/patches/subsys/310-mac80211-reduce-packet-loss-event-false-positives.patch deleted file mode 100644 index 62f2419dd3..0000000000 --- a/package/kernel/mac80211/patches/subsys/310-mac80211-reduce-packet-loss-event-false-positives.patch +++ /dev/null @@ -1,116 +0,0 @@ -From: Felix Fietkau <nbd@nbd.name> -Date: Sat, 8 Aug 2020 19:20:02 +0200 -Subject: [PATCH] mac80211: reduce packet loss event false positives - -When running a large number of packets per second with a high data rate -and long A-MPDUs, the packet loss threshold can be reached very quickly -when the link conditions change. This frequently shows up as spurious -disconnects. -Mitigate false positives by using a similar logic for regular stations -as the one being used for TDLS, though with a more aggressive timeout. -Packet loss events are only reported if no ACK was received for a second. - -Signed-off-by: Felix Fietkau <nbd@nbd.name> ---- - ---- a/net/mac80211/sta_info.h -+++ b/net/mac80211/sta_info.h -@@ -522,7 +522,7 @@ struct ieee80211_sta_rx_stats { - * @status_stats.retry_failed: # of frames that failed after retry - * @status_stats.retry_count: # of retries attempted - * @status_stats.lost_packets: # of lost packets -- * @status_stats.last_tdls_pkt_time: timestamp of last TDLS packet -+ * @status_stats.last_pkt_time: timestamp of last ACKed packet - * @status_stats.msdu_retries: # of MSDU retries - * @status_stats.msdu_failed: # of failed MSDUs - * @status_stats.last_ack: last ack timestamp (jiffies) -@@ -595,7 +595,7 @@ struct sta_info { - unsigned long filtered; - unsigned long retry_failed, retry_count; - unsigned int lost_packets; -- unsigned long last_tdls_pkt_time; -+ unsigned long last_pkt_time; - u64 msdu_retries[IEEE80211_NUM_TIDS + 1]; - u64 msdu_failed[IEEE80211_NUM_TIDS + 1]; - unsigned long last_ack; ---- a/net/mac80211/status.c -+++ b/net/mac80211/status.c -@@ -757,12 +757,16 @@ static void ieee80211_report_used_skb(st - * - current throughput (higher value for higher tpt)? - */ - #define STA_LOST_PKT_THRESHOLD 50 -+#define STA_LOST_PKT_TIME HZ /* 1 sec since last ACK */ - #define STA_LOST_TDLS_PKT_THRESHOLD 10 - #define STA_LOST_TDLS_PKT_TIME (10*HZ) /* 10secs since last ACK */ - - static void ieee80211_lost_packet(struct sta_info *sta, - struct ieee80211_tx_info *info) - { -+ unsigned long pkt_time = STA_LOST_PKT_TIME; -+ unsigned int pkt_thr = STA_LOST_PKT_THRESHOLD; -+ - /* If driver relies on its own algorithm for station kickout, skip - * mac80211 packet loss mechanism. - */ -@@ -775,21 +779,20 @@ static void ieee80211_lost_packet(struct - return; - - sta->status_stats.lost_packets++; -- if (!sta->sta.tdls && -- sta->status_stats.lost_packets < STA_LOST_PKT_THRESHOLD) -- return; -+ if (sta->sta.tdls) { -+ pkt_time = STA_LOST_TDLS_PKT_TIME; -+ pkt_thr = STA_LOST_PKT_THRESHOLD; -+ } - - /* - * If we're in TDLS mode, make sure that all STA_LOST_TDLS_PKT_THRESHOLD - * of the last packets were lost, and that no ACK was received in the - * last STA_LOST_TDLS_PKT_TIME ms, before triggering the CQM packet-loss - * mechanism. -+ * For non-TDLS, use STA_LOST_PKT_THRESHOLD and STA_LOST_PKT_TIME - */ -- if (sta->sta.tdls && -- (sta->status_stats.lost_packets < STA_LOST_TDLS_PKT_THRESHOLD || -- time_before(jiffies, -- sta->status_stats.last_tdls_pkt_time + -- STA_LOST_TDLS_PKT_TIME))) -+ if (sta->status_stats.lost_packets < pkt_thr || -+ !time_after(jiffies, sta->status_stats.last_pkt_time + pkt_time)) - return; - - cfg80211_cqm_pktloss_notify(sta->sdata->dev, sta->sta.addr, -@@ -1042,9 +1045,7 @@ static void __ieee80211_tx_status(struct - sta->status_stats.lost_packets = 0; - - /* Track when last TDLS packet was ACKed */ -- if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH)) -- sta->status_stats.last_tdls_pkt_time = -- jiffies; -+ sta->status_stats.last_pkt_time = jiffies; - } else if (noack_success) { - /* nothing to do here, do not account as lost */ - } else { -@@ -1177,9 +1178,8 @@ void ieee80211_tx_status_ext(struct ieee - if (sta->status_stats.lost_packets) - sta->status_stats.lost_packets = 0; - -- /* Track when last TDLS packet was ACKed */ -- if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH)) -- sta->status_stats.last_tdls_pkt_time = jiffies; -+ /* Track when last packet was ACKed */ -+ sta->status_stats.last_pkt_time = jiffies; - } else if (test_sta_flag(sta, WLAN_STA_PS_STA)) { - return; - } else if (noack_success) { -@@ -1268,8 +1268,7 @@ void ieee80211_tx_status_8023(struct iee - if (sta->status_stats.lost_packets) - sta->status_stats.lost_packets = 0; - -- if (test_sta_flag(sta, WLAN_STA_TDLS_PEER_AUTH)) -- sta->status_stats.last_tdls_pkt_time = jiffies; -+ sta->status_stats.last_pkt_time = jiffies; - } else { - ieee80211_lost_packet(sta, info); - } diff --git a/package/kernel/mac80211/patches/subsys/313-mac80211-improve-AQL-aggregation-estimation-for-low-.patch b/package/kernel/mac80211/patches/subsys/313-mac80211-improve-AQL-aggregation-estimation-for-low-.patch index 7f7c75db59..a5df07e58d 100644 --- a/package/kernel/mac80211/patches/subsys/313-mac80211-improve-AQL-aggregation-estimation-for-low-.patch +++ b/package/kernel/mac80211/patches/subsys/313-mac80211-improve-AQL-aggregation-estimation-for-low-.patch @@ -55,12 +55,12 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> + agg_shift = 3; + else + agg_shift = 4; - -- return airtime; ++ + duration *= len; + duration /= AVG_PKT_SIZE; + duration /= 1024; -+ + +- return airtime; + return duration + (overhead >> agg_shift); } diff --git a/package/kernel/mac80211/patches/subsys/319-mac80211-reduce-duplication-in-tx-status-functions.patch b/package/kernel/mac80211/patches/subsys/319-mac80211-reduce-duplication-in-tx-status-functions.patch index 8b664d6895..e13723b160 100644 --- a/package/kernel/mac80211/patches/subsys/319-mac80211-reduce-duplication-in-tx-status-functions.patch +++ b/package/kernel/mac80211/patches/subsys/319-mac80211-reduce-duplication-in-tx-status-functions.patch @@ -67,12 +67,12 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> if (!acked && !noack_success) - sta->status_stats.retry_failed++; - sta->status_stats.retry_count += retry_count; -- ++ sta->status_stats.msdu_failed[tid]++; + - if (ieee80211_is_data_present(fc)) { - if (!acked && !noack_success) - sta->status_stats.msdu_failed[tid]++; -+ sta->status_stats.msdu_failed[tid]++; - +- - sta->status_stats.msdu_retries[tid] += - retry_count; - } diff --git a/package/kernel/mac80211/patches/subsys/321-mac80211-optimize-station-connection-monitor.patch b/package/kernel/mac80211/patches/subsys/321-mac80211-optimize-station-connection-monitor.patch index ed9efb2b0d..f8287c53a7 100644 --- a/package/kernel/mac80211/patches/subsys/321-mac80211-optimize-station-connection-monitor.patch +++ b/package/kernel/mac80211/patches/subsys/321-mac80211-optimize-station-connection-monitor.patch @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c -@@ -1811,9 +1811,6 @@ ieee80211_rx_h_sta_process(struct ieee80 +@@ -1812,9 +1812,6 @@ ieee80211_rx_h_sta_process(struct ieee80 sta->rx_stats.last_rate = sta_stats_encode_rate(status); } @@ -122,7 +122,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> sta->rx_stats.fragments++; u64_stats_update_begin(&rx->sta->rx_stats.syncp); -@@ -4148,7 +4145,6 @@ void ieee80211_check_fast_rx(struct sta_ +@@ -4149,7 +4146,6 @@ void ieee80211_check_fast_rx(struct sta_ fastrx.sa_offs = offsetof(struct ieee80211_hdr, addr2); fastrx.expected_ds_bits = 0; } else { @@ -130,7 +130,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> fastrx.da_offs = offsetof(struct ieee80211_hdr, addr1); fastrx.sa_offs = offsetof(struct ieee80211_hdr, addr3); fastrx.expected_ds_bits = -@@ -4378,11 +4374,6 @@ static bool ieee80211_invoke_fast_rx(str +@@ -4379,11 +4375,6 @@ static bool ieee80211_invoke_fast_rx(str pskb_trim(skb, skb->len - fast_rx->icv_len)) goto drop; diff --git a/package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch b/package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch index b9069ef9b8..8505ce56f6 100644 --- a/package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch +++ b/package/kernel/mac80211/patches/subsys/322-mac80211-swap-NEED_TXPROCESSING-and-HW_80211_ENCAP-t.patch @@ -129,7 +129,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> } --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c -@@ -2896,7 +2896,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80 +@@ -2897,7 +2897,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80 fwd_hdr->frame_control &= ~cpu_to_le16(IEEE80211_FCTL_RETRY); info = IEEE80211_SKB_CB(fwd_skb); memset(info, 0, sizeof(*info)); diff --git a/package/kernel/mac80211/patches/subsys/326-mac80211-notify-the-driver-when-a-sta-uses-4-address.patch b/package/kernel/mac80211/patches/subsys/326-mac80211-notify-the-driver-when-a-sta-uses-4-address.patch index 5ad5ac6a78..aa166c6431 100644 --- a/package/kernel/mac80211/patches/subsys/326-mac80211-notify-the-driver-when-a-sta-uses-4-address.patch +++ b/package/kernel/mac80211/patches/subsys/326-mac80211-notify-the-driver-when-a-sta-uses-4-address.patch @@ -30,7 +30,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name> /** --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c -@@ -1693,6 +1693,7 @@ static int ieee80211_change_station(stru +@@ -1694,6 +1694,7 @@ static int ieee80211_change_station(stru rcu_assign_pointer(vlansdata->u.vlan.sta, sta); __ieee80211_check_fast_rx_iface(vlansdata); diff --git a/package/kernel/mac80211/patches/subsys/331-mac80211-do-not-allow-bigger-VHT-MPDUs-than-the-hard.patch b/package/kernel/mac80211/patches/subsys/331-mac80211-do-not-allow-bigger-VHT-MPDUs-than-the-hard.patch deleted file mode 100644 index a799d96250..0000000000 --- a/package/kernel/mac80211/patches/subsys/331-mac80211-do-not-allow-bigger-VHT-MPDUs-than-the-hard.patch +++ /dev/null @@ -1,34 +0,0 @@ -From: Felix Fietkau <nbd@nbd.name> -Date: Thu, 17 Sep 2020 12:07:19 +0200 -Subject: [PATCH] mac80211: do not allow bigger VHT MPDUs than the hardware - supports - -Limit maximum VHT MPDU size by local capability - -Signed-off-by: Felix Fietkau <nbd@nbd.name> ---- - ---- a/net/mac80211/vht.c -+++ b/net/mac80211/vht.c -@@ -168,10 +168,7 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru - /* take some capabilities as-is */ - cap_info = le32_to_cpu(vht_cap_ie->vht_cap_info); - vht_cap->cap = cap_info; -- vht_cap->cap &= IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_3895 | -- IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_7991 | -- IEEE80211_VHT_CAP_MAX_MPDU_LENGTH_11454 | -- IEEE80211_VHT_CAP_RXLDPC | -+ vht_cap->cap &= IEEE80211_VHT_CAP_RXLDPC | - IEEE80211_VHT_CAP_VHT_TXOP_PS | - IEEE80211_VHT_CAP_HTC_VHT | - IEEE80211_VHT_CAP_MAX_A_MPDU_LENGTH_EXPONENT_MASK | -@@ -180,6 +177,9 @@ ieee80211_vht_cap_ie_to_sta_vht_cap(stru - IEEE80211_VHT_CAP_RX_ANTENNA_PATTERN | - IEEE80211_VHT_CAP_TX_ANTENNA_PATTERN; - -+ vht_cap->cap |= min_t(u32, cap_info & IEEE80211_VHT_CAP_MAX_MPDU_MASK, -+ own_cap.cap & IEEE80211_VHT_CAP_MAX_MPDU_MASK); -+ - /* and some based on our own capabilities */ - switch (own_cap.cap & IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_MASK) { - case IEEE80211_VHT_CAP_SUPP_CHAN_WIDTH_160MHZ: diff --git a/package/kernel/mac80211/patches/subsys/370-mac80211-fix-misplaced-while-instead-of-if.patch b/package/kernel/mac80211/patches/subsys/370-mac80211-fix-misplaced-while-instead-of-if.patch deleted file mode 100644 index 38144013f0..0000000000 --- a/package/kernel/mac80211/patches/subsys/370-mac80211-fix-misplaced-while-instead-of-if.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 5981fe5b0529ba25d95f37d7faa434183ad618c5 Mon Sep 17 00:00:00 2001 -From: Johannes Berg <johannes.berg@intel.com> -Date: Mon, 3 Aug 2020 11:02:10 +0200 -Subject: [PATCH] mac80211: fix misplaced while instead of if - -This never was intended to be a 'while' loop, it should've -just been an 'if' instead of 'while'. Fix this. - -I noticed this while applying another patch from Ben that -intended to fix a busy loop at this spot. - -Cc: stable@vger.kernel.org -Fixes: b16798f5b907 ("mac80211: mark station unauthorized before key removal") -Reported-by: Ben Greear <greearb@candelatech.com> -Link: https://lore.kernel.org/r/20200803110209.253009ae41ff.I3522aad099392b31d5cf2dcca34cbac7e5832dde@changeid -Signed-off-by: Johannes Berg <johannes.berg@intel.com> ---- - net/mac80211/sta_info.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/net/mac80211/sta_info.c -+++ b/net/mac80211/sta_info.c -@@ -1051,7 +1051,7 @@ static void __sta_info_destroy_part2(str - might_sleep(); - lockdep_assert_held(&local->sta_mtx); - -- while (sta->sta_state == IEEE80211_STA_AUTHORIZED) { -+ if (sta->sta_state == IEEE80211_STA_AUTHORIZED) { - ret = sta_info_move_state(sta, IEEE80211_STA_ASSOC); - WARN_ON_ONCE(ret); - } diff --git a/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch b/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch index 8db3a758a1..6abf3a1261 100644 --- a/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch +++ b/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch @@ -57,7 +57,7 @@ __NL80211_ATTR_AFTER_LAST, --- a/net/mac80211/cfg.c +++ b/net/mac80211/cfg.c -@@ -2611,6 +2611,19 @@ static int ieee80211_get_tx_power(struct +@@ -2612,6 +2612,19 @@ static int ieee80211_get_tx_power(struct return 0; } @@ -77,7 +77,7 @@ static int ieee80211_set_wds_peer(struct wiphy *wiphy, struct net_device *dev, const u8 *addr) { -@@ -4041,6 +4054,7 @@ const struct cfg80211_ops mac80211_confi +@@ -4042,6 +4055,7 @@ const struct cfg80211_ops mac80211_confi .set_wiphy_params = ieee80211_set_wiphy_params, .set_tx_power = ieee80211_set_tx_power, .get_tx_power = ieee80211_get_tx_power, @@ -137,7 +137,7 @@ }; /* policy for the key attributes */ -@@ -3136,6 +3137,20 @@ static int nl80211_set_wiphy(struct sk_b +@@ -3139,6 +3140,20 @@ static int nl80211_set_wiphy(struct sk_b if (result) return result; } |