From 06ea5865088b73846d9545f75100d035c2bc7ce7 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Wed, 3 Apr 2024 01:39:35 +0200 Subject: [PATCH] mac80211: Update to 5.15.153-1 Update mac80211 to version based on kernel 5.15.153. This contains multiple bugfixes. Signed-off-by: Hauke Mehrtens --- package/kernel/mac80211/Makefile | 6 +++--- ...ontrolling-support-for-various-chipsets.patch | 2 +- .../brcm/810-b43-gpio-mask-module-option.patch | 2 +- .../brcm/812-b43-add-antenna-control.patch | 14 +++++++------- .../brcm/814-b43-only-use-gpio-0-1-for-led.patch | 2 +- .../patches/build/060-no_local_ssb_bcma.patch | 4 ++-- .../002-rt2x00-add-throughput-LED-trigger.patch | 4 ++-- .../602-rt2x00-introduce-rt2x00eeprom.patch | 4 ++-- ...w_disabling_bands_through_platform_data.patch | 2 +- .../607-rt2x00-add_platform_data_mac_addr.patch | 2 +- ...t2x00-allow_disabling_bands_through_dts.patch | 2 +- .../rt2x00/611-rt2x00-add-AP+STA-support.patch | 2 +- ...coarse-boottime-for-airtime-fairness-co.patch | 10 +++++----- ...c80211-split-beacon-retrieval-functions.patch | 10 +++++----- ...80211-MBSSID-and-EMA-support-in-AP-mode.patch | 16 ++++++++-------- ...ement-APIs-for-dedicated-radar-detectio.patch | 4 ++-- ...w-continuous-radar-monitoring-on-offcha.patch | 6 +++--- ...me-offchannel_chain-structs-to-backgrou.patch | 2 +- ...80211-MBSSID-beacon-handling-in-AP-mode.patch | 8 ++++---- ...ch-airtime-fairness-back-to-deficit-rou.patch | 10 +++++----- ...-sta-airtime-deficit-field-s32-instead-.patch | 2 +- ...ider-aql_tx_pending-when-checking-airti.patch | 6 +++--- ...-recently-active-tx-queues-in-schedulin.patch | 10 +++++----- ...a-per-PHY-AQL-limit-to-improve-fairness.patch | 12 ++++++------ ...-accumulate-airtime-deficit-for-active-.patch | 4 ++-- ...-increase-quantum-for-airtime-scheduler.patch | 6 +++--- ...ude-multicast-packets-from-AQL-pending-.patch | 4 ++-- ...fi-mac80211-flush-queues-on-STA-removal.patch | 2 +- .../350-wifi-mac80211-add-flush_sta-method.patch | 2 +- 29 files changed, 80 insertions(+), 80 deletions(-) diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index a562178a99..0bcbd8d294 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -10,10 +10,10 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=mac80211 -PKG_VERSION:=5.15.148-1 +PKG_VERSION:=5.15.153-1 PKG_RELEASE:=1 -PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.148 -PKG_HASH:=3ec31964844cbb8f7c7af4da8ae765446572934a334926102ed2f3baebb87c06 +PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.153 +PKG_HASH:=eaa24df968c79385c57707068a209fb1ea43271b573f24885805ae96a58ee3a8 PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION) diff --git a/package/kernel/mac80211/patches/ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch b/package/kernel/mac80211/patches/ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch index 35927e7850..603b309d97 100644 --- a/package/kernel/mac80211/patches/ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch +++ b/package/kernel/mac80211/patches/ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch @@ -456,7 +456,7 @@ v13: { --- a/drivers/net/wireless/ath/ath10k/wmi-tlv.c +++ b/drivers/net/wireless/ath/ath10k/wmi-tlv.c -@@ -4594,6 +4594,8 @@ static const struct wmi_ops wmi_tlv_ops +@@ -4598,6 +4598,8 @@ static const struct wmi_ops wmi_tlv_ops .gen_echo = ath10k_wmi_tlv_op_gen_echo, .gen_vdev_spectral_conf = ath10k_wmi_tlv_op_gen_vdev_spectral_conf, .gen_vdev_spectral_enable = ath10k_wmi_tlv_op_gen_vdev_spectral_enable, diff --git a/package/kernel/mac80211/patches/brcm/810-b43-gpio-mask-module-option.patch b/package/kernel/mac80211/patches/brcm/810-b43-gpio-mask-module-option.patch index 09ef50526f..295a4cca73 100644 --- a/package/kernel/mac80211/patches/brcm/810-b43-gpio-mask-module-option.patch +++ b/package/kernel/mac80211/patches/brcm/810-b43-gpio-mask-module-option.patch @@ -22,7 +22,7 @@ static int modparam_bad_frames_preempt; module_param_named(bad_frames_preempt, modparam_bad_frames_preempt, int, 0444); MODULE_PARM_DESC(bad_frames_preempt, -@@ -2869,10 +2874,10 @@ static int b43_gpio_init(struct b43_wlde +@@ -2870,10 +2875,10 @@ static int b43_gpio_init(struct b43_wlde u32 mask, set; b43_maskset32(dev, B43_MMIO_MACCTL, ~B43_MACCTL_GPOUTSMSK, 0); diff --git a/package/kernel/mac80211/patches/brcm/812-b43-add-antenna-control.patch b/package/kernel/mac80211/patches/brcm/812-b43-add-antenna-control.patch index 5dc04ecc88..547b1f9c6c 100644 --- a/package/kernel/mac80211/patches/brcm/812-b43-add-antenna-control.patch +++ b/package/kernel/mac80211/patches/brcm/812-b43-add-antenna-control.patch @@ -9,7 +9,7 @@ antenna = b43_antenna_to_phyctl(antenna); ctl = b43_shm_read16(dev, B43_SHM_SHARED, B43_SHM_SH_BEACPHYCTL); /* We can't send beacons with short preamble. Would get PHY errors. */ -@@ -3284,8 +3284,8 @@ static int b43_chip_init(struct b43_wlde +@@ -3285,8 +3285,8 @@ static int b43_chip_init(struct b43_wlde /* Select the antennae */ if (phy->ops->set_rx_antenna) @@ -20,7 +20,7 @@ if (phy->type == B43_PHYTYPE_B) { value16 = b43_read16(dev, 0x005E); -@@ -3985,7 +3985,6 @@ static int b43_op_config(struct ieee8021 +@@ -3987,7 +3987,6 @@ static int b43_op_config(struct ieee8021 struct b43_wldev *dev = wl->current_dev; struct b43_phy *phy = &dev->phy; struct ieee80211_conf *conf = &hw->conf; @@ -28,7 +28,7 @@ int err = 0; mutex_lock(&wl->mutex); -@@ -4028,11 +4027,9 @@ static int b43_op_config(struct ieee8021 +@@ -4030,11 +4029,9 @@ static int b43_op_config(struct ieee8021 } /* Antennas for RX and management frame TX. */ @@ -42,7 +42,7 @@ if (wl->radio_enabled != phy->radio_on) { if (wl->radio_enabled) { -@@ -5175,6 +5172,47 @@ static int b43_op_get_survey(struct ieee +@@ -5177,6 +5174,47 @@ static int b43_op_get_survey(struct ieee return 0; } @@ -90,7 +90,7 @@ static const struct ieee80211_ops b43_hw_ops = { .tx = b43_op_tx, .conf_tx = b43_op_conf_tx, -@@ -5196,6 +5234,8 @@ static const struct ieee80211_ops b43_hw +@@ -5198,6 +5236,8 @@ static const struct ieee80211_ops b43_hw .sw_scan_complete = b43_op_sw_scan_complete_notifier, .get_survey = b43_op_get_survey, .rfkill_poll = b43_rfkill_poll, @@ -99,7 +99,7 @@ }; /* Hard-reset the chip. Do not call this directly. -@@ -5497,6 +5537,8 @@ static int b43_one_core_attach(struct b4 +@@ -5499,6 +5539,8 @@ static int b43_one_core_attach(struct b4 if (!wldev) goto out; @@ -108,7 +108,7 @@ wldev->use_pio = b43_modparam_pio; wldev->dev = dev; wldev->wl = wl; -@@ -5588,6 +5630,9 @@ static struct b43_wl *b43_wireless_init( +@@ -5590,6 +5632,9 @@ static struct b43_wl *b43_wireless_init( wiphy_ext_feature_set(hw->wiphy, NL80211_EXT_FEATURE_CQM_RSSI_LIST); diff --git a/package/kernel/mac80211/patches/brcm/814-b43-only-use-gpio-0-1-for-led.patch b/package/kernel/mac80211/patches/brcm/814-b43-only-use-gpio-0-1-for-led.patch index 9cb0a32fd4..f7aa413208 100644 --- a/package/kernel/mac80211/patches/brcm/814-b43-only-use-gpio-0-1-for-led.patch +++ b/package/kernel/mac80211/patches/brcm/814-b43-only-use-gpio-0-1-for-led.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/broadcom/b43/main.c +++ b/drivers/net/wireless/broadcom/b43/main.c -@@ -2886,6 +2886,14 @@ static int b43_gpio_init(struct b43_wlde +@@ -2887,6 +2887,14 @@ static int b43_gpio_init(struct b43_wlde } else if (dev->dev->chip_id == 0x5354) { /* Don't allow overtaking buttons GPIOs */ set &= 0x2; /* 0x2 is LED GPIO on BCM5354 */ diff --git a/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch b/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch index 089ff2117b..6155484ddd 100644 --- a/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch +++ b/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch @@ -90,7 +90,7 @@ config B43_PHY_G --- a/drivers/net/wireless/broadcom/b43/main.c +++ b/drivers/net/wireless/broadcom/b43/main.c -@@ -2853,7 +2853,7 @@ static struct ssb_device *b43_ssb_gpio_d +@@ -2854,7 +2854,7 @@ static struct ssb_device *b43_ssb_gpio_d { struct ssb_bus *bus = dev->dev->sdev->bus; @@ -99,7 +99,7 @@ return (bus->chipco.dev ? bus->chipco.dev : bus->pcicore.dev); #else return bus->chipco.dev; -@@ -4870,7 +4870,7 @@ static int b43_wireless_core_init(struct +@@ -4872,7 +4872,7 @@ static int b43_wireless_core_init(struct } if (sprom->boardflags_lo & B43_BFL_XTAL_NOSLOW) hf |= B43_HF_DSCRQ; /* Disable slowclock requests from ucode. */ diff --git a/package/kernel/mac80211/patches/rt2x00/002-rt2x00-add-throughput-LED-trigger.patch b/package/kernel/mac80211/patches/rt2x00/002-rt2x00-add-throughput-LED-trigger.patch index 9ba8ab1249..6a4a7e9638 100644 --- a/package/kernel/mac80211/patches/rt2x00/002-rt2x00-add-throughput-LED-trigger.patch +++ b/package/kernel/mac80211/patches/rt2x00/002-rt2x00-add-throughput-LED-trigger.patch @@ -42,7 +42,7 @@ Acked-by: Stanislaw Gruszka --- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -@@ -1094,6 +1094,19 @@ static void rt2x00lib_remove_hw(struct r +@@ -1095,6 +1095,19 @@ static void rt2x00lib_remove_hw(struct r kfree(rt2x00dev->chan_survey); } @@ -62,7 +62,7 @@ Acked-by: Stanislaw Gruszka static int rt2x00lib_probe_hw(struct rt2x00_dev *rt2x00dev) { struct hw_mode_spec *spec = &rt2x00dev->spec; -@@ -1175,6 +1188,11 @@ static int rt2x00lib_probe_hw(struct rt2 +@@ -1176,6 +1189,11 @@ static int rt2x00lib_probe_hw(struct rt2 #undef RT2X00_TASKLET_INIT diff --git a/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch b/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch index 4d7f49cb7e..4d5eb6aeb6 100644 --- a/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch +++ b/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch @@ -127,7 +127,7 @@ DECLARE_KFIFO_PTR(txstatus_fifo, u32); --- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -@@ -1420,6 +1420,10 @@ int rt2x00lib_probe_dev(struct rt2x00_de +@@ -1423,6 +1423,10 @@ int rt2x00lib_probe_dev(struct rt2x00_de INIT_DELAYED_WORK(&rt2x00dev->autowakeup_work, rt2x00lib_autowakeup); INIT_WORK(&rt2x00dev->sleep_work, rt2x00lib_sleep); @@ -138,7 +138,7 @@ /* * Let the driver probe the device to detect the capabilities. */ -@@ -1560,6 +1564,11 @@ void rt2x00lib_remove_dev(struct rt2x00_ +@@ -1563,6 +1567,11 @@ void rt2x00lib_remove_dev(struct rt2x00_ * Free the driver data. */ kfree(rt2x00dev->drv_data); diff --git a/package/kernel/mac80211/patches/rt2x00/606-rt2x00-allow_disabling_bands_through_platform_data.patch b/package/kernel/mac80211/patches/rt2x00/606-rt2x00-allow_disabling_bands_through_platform_data.patch index ffee2189d2..ab09a68297 100644 --- a/package/kernel/mac80211/patches/rt2x00/606-rt2x00-allow_disabling_bands_through_platform_data.patch +++ b/package/kernel/mac80211/patches/rt2x00/606-rt2x00-allow_disabling_bands_through_platform_data.patch @@ -12,7 +12,7 @@ #endif /* _RT2X00_PLATFORM_H */ --- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -@@ -1007,6 +1007,22 @@ static int rt2x00lib_probe_hw_modes(stru +@@ -1008,6 +1008,22 @@ static int rt2x00lib_probe_hw_modes(stru unsigned int num_rates; unsigned int i; diff --git a/package/kernel/mac80211/patches/rt2x00/607-rt2x00-add_platform_data_mac_addr.patch b/package/kernel/mac80211/patches/rt2x00/607-rt2x00-add_platform_data_mac_addr.patch index 37553bb80a..79f99ffdf4 100644 --- a/package/kernel/mac80211/patches/rt2x00/607-rt2x00-add_platform_data_mac_addr.patch +++ b/package/kernel/mac80211/patches/rt2x00/607-rt2x00-add_platform_data_mac_addr.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -@@ -989,6 +989,12 @@ static void rt2x00lib_rate(struct ieee80 +@@ -990,6 +990,12 @@ static void rt2x00lib_rate(struct ieee80 void rt2x00lib_set_mac_address(struct rt2x00_dev *rt2x00dev, u8 *eeprom_mac_addr) { diff --git a/package/kernel/mac80211/patches/rt2x00/608-rt2x00-allow_disabling_bands_through_dts.patch b/package/kernel/mac80211/patches/rt2x00/608-rt2x00-allow_disabling_bands_through_dts.patch index 6211809c0a..31f2f0261f 100644 --- a/package/kernel/mac80211/patches/rt2x00/608-rt2x00-allow_disabling_bands_through_dts.patch +++ b/package/kernel/mac80211/patches/rt2x00/608-rt2x00-allow_disabling_bands_through_dts.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -@@ -1012,6 +1012,16 @@ static int rt2x00lib_probe_hw_modes(stru +@@ -1013,6 +1013,16 @@ static int rt2x00lib_probe_hw_modes(stru struct ieee80211_rate *rates; unsigned int num_rates; unsigned int i; diff --git a/package/kernel/mac80211/patches/rt2x00/611-rt2x00-add-AP+STA-support.patch b/package/kernel/mac80211/patches/rt2x00/611-rt2x00-add-AP+STA-support.patch index aa2b25ba7f..9564f02edd 100644 --- a/package/kernel/mac80211/patches/rt2x00/611-rt2x00-add-AP+STA-support.patch +++ b/package/kernel/mac80211/patches/rt2x00/611-rt2x00-add-AP+STA-support.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00dev.c -@@ -1359,7 +1359,7 @@ static inline void rt2x00lib_set_if_comb +@@ -1362,7 +1362,7 @@ static inline void rt2x00lib_set_if_comb */ if_limit = &rt2x00dev->if_limits_ap; if_limit->max = rt2x00dev->ops->max_ap_intf; diff --git a/package/kernel/mac80211/patches/subsys/306-mac80211-use-coarse-boottime-for-airtime-fairness-co.patch b/package/kernel/mac80211/patches/subsys/306-mac80211-use-coarse-boottime-for-airtime-fairness-co.patch index 68a55b1e86..d58d467db4 100644 --- a/package/kernel/mac80211/patches/subsys/306-mac80211-use-coarse-boottime-for-airtime-fairness-co.patch +++ b/package/kernel/mac80211/patches/subsys/306-mac80211-use-coarse-boottime-for-airtime-fairness-co.patch @@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -3821,7 +3821,7 @@ struct ieee80211_txq *ieee80211_next_txq +@@ -3822,7 +3822,7 @@ struct ieee80211_txq *ieee80211_next_txq { struct ieee80211_local *local = hw_to_local(hw); struct airtime_sched_info *air_sched; @@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau struct ieee80211_txq *ret = NULL; struct airtime_info *air_info; struct txq_info *txqi = NULL; -@@ -3948,7 +3948,7 @@ void ieee80211_update_airtime_weight(str +@@ -3949,7 +3949,7 @@ void ieee80211_update_airtime_weight(str u64 weight_sum = 0; if (unlikely(!now)) @@ -31,7 +31,7 @@ Signed-off-by: Felix Fietkau lockdep_assert_held(&air_sched->lock); -@@ -3974,7 +3974,7 @@ void ieee80211_schedule_txq(struct ieee8 +@@ -3975,7 +3975,7 @@ void ieee80211_schedule_txq(struct ieee8 struct ieee80211_local *local = hw_to_local(hw); struct txq_info *txqi = to_txq_info(txq); struct airtime_sched_info *air_sched; @@ -40,7 +40,7 @@ Signed-off-by: Felix Fietkau struct airtime_info *air_info; u8 ac = txq->ac; bool was_active; -@@ -4032,7 +4032,7 @@ static void __ieee80211_unschedule_txq(s +@@ -4033,7 +4033,7 @@ static void __ieee80211_unschedule_txq(s if (!purge) airtime_set_active(air_sched, air_info, @@ -49,7 +49,7 @@ Signed-off-by: Felix Fietkau rb_erase_cached(&txqi->schedule_order, &air_sched->active_txqs); -@@ -4120,7 +4120,7 @@ bool ieee80211_txq_may_transmit(struct i +@@ -4121,7 +4121,7 @@ bool ieee80211_txq_may_transmit(struct i if (RB_EMPTY_NODE(&txqi->schedule_order)) goto out; diff --git a/package/kernel/mac80211/patches/subsys/312-mac80211-split-beacon-retrieval-functions.patch b/package/kernel/mac80211/patches/subsys/312-mac80211-split-beacon-retrieval-functions.patch index 36764db336..1113880bea 100644 --- a/package/kernel/mac80211/patches/subsys/312-mac80211-split-beacon-retrieval-functions.patch +++ b/package/kernel/mac80211/patches/subsys/312-mac80211-split-beacon-retrieval-functions.patch @@ -14,7 +14,7 @@ Signed-off-by: Johannes Berg --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -4988,6 +4988,115 @@ static int ieee80211_beacon_protect(stru +@@ -4989,6 +4989,115 @@ static int ieee80211_beacon_protect(stru return 0; } @@ -130,7 +130,7 @@ Signed-off-by: Johannes Berg static struct sk_buff * __ieee80211_beacon_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif, -@@ -4997,12 +5106,8 @@ __ieee80211_beacon_get(struct ieee80211_ +@@ -4998,12 +5107,8 @@ __ieee80211_beacon_get(struct ieee80211_ struct ieee80211_local *local = hw_to_local(hw); struct beacon_data *beacon = NULL; struct sk_buff *skb = NULL; @@ -143,7 +143,7 @@ Signed-off-by: Johannes Berg rcu_read_lock(); -@@ -5019,48 +5124,11 @@ __ieee80211_beacon_get(struct ieee80211_ +@@ -5020,48 +5125,11 @@ __ieee80211_beacon_get(struct ieee80211_ struct ieee80211_if_ap *ap = &sdata->u.ap; beacon = rcu_dereference(ap->beacon); @@ -196,7 +196,7 @@ Signed-off-by: Johannes Berg } else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) { struct ieee80211_if_ibss *ifibss = &sdata->u.ibss; struct ieee80211_hdr *hdr; -@@ -5086,6 +5154,9 @@ __ieee80211_beacon_get(struct ieee80211_ +@@ -5087,6 +5155,9 @@ __ieee80211_beacon_get(struct ieee80211_ hdr = (struct ieee80211_hdr *) skb->data; hdr->frame_control = cpu_to_le16(IEEE80211_FTYPE_MGMT | IEEE80211_STYPE_BEACON); @@ -206,7 +206,7 @@ Signed-off-by: Johannes Berg } else if (ieee80211_vif_is_mesh(&sdata->vif)) { struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh; -@@ -5125,51 +5196,13 @@ __ieee80211_beacon_get(struct ieee80211_ +@@ -5126,51 +5197,13 @@ __ieee80211_beacon_get(struct ieee80211_ } skb_put_data(skb, beacon->tail, beacon->tail_len); diff --git a/package/kernel/mac80211/patches/subsys/313-nl80211-MBSSID-and-EMA-support-in-AP-mode.patch b/package/kernel/mac80211/patches/subsys/313-nl80211-MBSSID-and-EMA-support-in-AP-mode.patch index 052c7b708d..9302483c19 100644 --- a/package/kernel/mac80211/patches/subsys/313-nl80211-MBSSID-and-EMA-support-in-AP-mode.patch +++ b/package/kernel/mac80211/patches/subsys/313-nl80211-MBSSID-and-EMA-support-in-AP-mode.patch @@ -294,7 +294,7 @@ Signed-off-by: Johannes Berg /* done */ state->split_start = 0; break; -@@ -5021,6 +5066,96 @@ static int validate_beacon_tx_rate(struc +@@ -5024,6 +5069,96 @@ static int validate_beacon_tx_rate(struc return 0; } @@ -391,7 +391,7 @@ Signed-off-by: Johannes Berg static int nl80211_parse_beacon(struct cfg80211_registered_device *rdev, struct nlattr *attrs[], struct cfg80211_beacon_data *bcn) -@@ -5101,6 +5236,17 @@ static int nl80211_parse_beacon(struct c +@@ -5104,6 +5239,17 @@ static int nl80211_parse_beacon(struct c bcn->ftm_responder = -1; } @@ -409,7 +409,7 @@ Signed-off-by: Johannes Berg return 0; } -@@ -5557,6 +5703,17 @@ static int nl80211_start_ap(struct sk_bu +@@ -5560,6 +5706,17 @@ static int nl80211_start_ap(struct sk_bu goto out; } @@ -427,7 +427,7 @@ Signed-off-by: Johannes Berg nl80211_calculate_ap_params(¶ms); if (info->attrs[NL80211_ATTR_EXTERNAL_AUTH_SUPPORT]) -@@ -5578,6 +5735,11 @@ static int nl80211_start_ap(struct sk_bu +@@ -5581,6 +5738,11 @@ static int nl80211_start_ap(struct sk_bu out: kfree(params.acl); @@ -439,7 +439,7 @@ Signed-off-by: Johannes Berg return err; } -@@ -5602,12 +5764,14 @@ static int nl80211_set_beacon(struct sk_ +@@ -5605,12 +5767,14 @@ static int nl80211_set_beacon(struct sk_ err = nl80211_parse_beacon(rdev, info->attrs, ¶ms); if (err) @@ -455,7 +455,7 @@ Signed-off-by: Johannes Berg return err; } -@@ -9284,12 +9448,14 @@ static int nl80211_channel_switch(struct +@@ -9287,12 +9451,14 @@ static int nl80211_channel_switch(struct err = nl80211_parse_beacon(rdev, info->attrs, ¶ms.beacon_after); if (err) @@ -473,7 +473,7 @@ Signed-off-by: Johannes Berg err = nla_parse_nested_deprecated(csa_attrs, NL80211_ATTR_MAX, info->attrs[NL80211_ATTR_CSA_IES], -@@ -9408,6 +9574,8 @@ skip_beacons: +@@ -9411,6 +9577,8 @@ skip_beacons: wdev_unlock(wdev); free: @@ -482,7 +482,7 @@ Signed-off-by: Johannes Berg kfree(csa_attrs); return err; } -@@ -14960,6 +15128,8 @@ static int nl80211_color_change(struct s +@@ -14963,6 +15131,8 @@ static int nl80211_color_change(struct s wdev_unlock(wdev); out: diff --git a/package/kernel/mac80211/patches/subsys/314-cfg80211-implement-APIs-for-dedicated-radar-detectio.patch b/package/kernel/mac80211/patches/subsys/314-cfg80211-implement-APIs-for-dedicated-radar-detectio.patch index fe3fc51b74..9a26fe0ec1 100644 --- a/package/kernel/mac80211/patches/subsys/314-cfg80211-implement-APIs-for-dedicated-radar-detectio.patch +++ b/package/kernel/mac80211/patches/subsys/314-cfg80211-implement-APIs-for-dedicated-radar-detectio.patch @@ -294,7 +294,7 @@ Signed-off-by: Johannes Berg }; /* policy for the key attributes */ -@@ -9288,12 +9289,6 @@ static int nl80211_start_radar_detection +@@ -9291,12 +9292,6 @@ static int nl80211_start_radar_detection if (err) return err; @@ -307,7 +307,7 @@ Signed-off-by: Johannes Berg err = cfg80211_chandef_dfs_required(wiphy, &chandef, wdev->iftype); if (err < 0) return err; -@@ -9304,6 +9299,16 @@ static int nl80211_start_radar_detection +@@ -9307,6 +9302,16 @@ static int nl80211_start_radar_detection if (!cfg80211_chandef_dfs_usable(wiphy, &chandef)) return -EINVAL; diff --git a/package/kernel/mac80211/patches/subsys/318-cfg80211-allow-continuous-radar-monitoring-on-offcha.patch b/package/kernel/mac80211/patches/subsys/318-cfg80211-allow-continuous-radar-monitoring-on-offcha.patch index 9a0cade81c..988ebf09d5 100644 --- a/package/kernel/mac80211/patches/subsys/318-cfg80211-allow-continuous-radar-monitoring-on-offcha.patch +++ b/package/kernel/mac80211/patches/subsys/318-cfg80211-allow-continuous-radar-monitoring-on-offcha.patch @@ -118,7 +118,7 @@ Signed-off-by: Johannes Berg NL80211_RADAR_CAC_ABORTED); --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -9279,42 +9279,60 @@ static int nl80211_start_radar_detection +@@ -9282,42 +9282,60 @@ static int nl80211_start_radar_detection struct cfg80211_chan_def chandef; enum nl80211_dfs_regions dfs_region; unsigned int cac_time_ms; @@ -198,7 +198,7 @@ Signed-off-by: Johannes Berg cac_time_ms = cfg80211_chandef_dfs_cac_time(&rdev->wiphy, &chandef); if (WARN_ON(!cac_time_ms)) -@@ -9327,6 +9345,9 @@ static int nl80211_start_radar_detection +@@ -9330,6 +9348,9 @@ static int nl80211_start_radar_detection wdev->cac_start_time = jiffies; wdev->cac_time_ms = cac_time_ms; } @@ -208,7 +208,7 @@ Signed-off-by: Johannes Berg return err; } -@@ -15962,7 +15983,8 @@ static const struct genl_small_ops nl802 +@@ -15965,7 +15986,8 @@ static const struct genl_small_ops nl802 .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = nl80211_start_radar_detection, .flags = GENL_UNS_ADMIN_PERM, diff --git a/package/kernel/mac80211/patches/subsys/320-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch b/package/kernel/mac80211/patches/subsys/320-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch index d4d1894c18..9358844500 100644 --- a/package/kernel/mac80211/patches/subsys/320-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch +++ b/package/kernel/mac80211/patches/subsys/320-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch @@ -481,7 +481,7 @@ Signed-off-by: Johannes Berg }; /* policy for the key attributes */ -@@ -9307,9 +9307,9 @@ static int nl80211_start_radar_detection +@@ -9310,9 +9310,9 @@ static int nl80211_start_radar_detection goto unlock; } diff --git a/package/kernel/mac80211/patches/subsys/324-mac80211-MBSSID-beacon-handling-in-AP-mode.patch b/package/kernel/mac80211/patches/subsys/324-mac80211-MBSSID-beacon-handling-in-AP-mode.patch index be3aa5a619..3e89207101 100644 --- a/package/kernel/mac80211/patches/subsys/324-mac80211-MBSSID-beacon-handling-in-AP-mode.patch +++ b/package/kernel/mac80211/patches/subsys/324-mac80211-MBSSID-beacon-handling-in-AP-mode.patch @@ -269,7 +269,7 @@ Signed-off-by: Johannes Berg IEEE80211_TX_STATUS_MSG = 2, --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -5042,6 +5042,19 @@ ieee80211_beacon_get_finish(struct ieee8 +@@ -5043,6 +5043,19 @@ ieee80211_beacon_get_finish(struct ieee8 IEEE80211_TX_CTL_FIRST_FRAGMENT; } @@ -289,7 +289,7 @@ Signed-off-by: Johannes Berg static struct sk_buff * ieee80211_beacon_get_ap(struct ieee80211_hw *hw, struct ieee80211_vif *vif, -@@ -5055,6 +5068,7 @@ ieee80211_beacon_get_ap(struct ieee80211 +@@ -5056,6 +5069,7 @@ ieee80211_beacon_get_ap(struct ieee80211 struct ieee80211_if_ap *ap = &sdata->u.ap; struct sk_buff *skb = NULL; u16 csa_off_base = 0; @@ -297,7 +297,7 @@ Signed-off-by: Johannes Berg if (beacon->cntdwn_counter_offsets[0]) { if (!is_template) -@@ -5064,11 +5078,12 @@ ieee80211_beacon_get_ap(struct ieee80211 +@@ -5065,11 +5079,12 @@ ieee80211_beacon_get_ap(struct ieee80211 } /* headroom, head length, @@ -312,7 +312,7 @@ Signed-off-by: Johannes Berg if (!skb) return NULL; -@@ -5082,6 +5097,11 @@ ieee80211_beacon_get_ap(struct ieee80211 +@@ -5083,6 +5098,11 @@ ieee80211_beacon_get_ap(struct ieee80211 offs->tim_length = skb->len - beacon->head_len; offs->cntdwn_counter_offs[0] = beacon->cntdwn_counter_offsets[0]; diff --git a/package/kernel/mac80211/patches/subsys/330-mac80211-switch-airtime-fairness-back-to-deficit-rou.patch b/package/kernel/mac80211/patches/subsys/330-mac80211-switch-airtime-fairness-back-to-deficit-rou.patch index 3b39701d2d..03f6a93206 100644 --- a/package/kernel/mac80211/patches/subsys/330-mac80211-switch-airtime-fairness-back-to-deficit-rou.patch +++ b/package/kernel/mac80211/patches/subsys/330-mac80211-switch-airtime-fairness-back-to-deficit-rou.patch @@ -627,7 +627,7 @@ Signed-off-by: Felix Fietkau } for (i = 0; i < IEEE80211_NUM_TIDS; i++) -@@ -1890,59 +1894,24 @@ void ieee80211_sta_set_buffered(struct i +@@ -1892,59 +1896,24 @@ void ieee80211_sta_set_buffered(struct i } EXPORT_SYMBOL(ieee80211_sta_set_buffered); @@ -699,7 +699,7 @@ Signed-off-by: Felix Fietkau } EXPORT_SYMBOL(ieee80211_sta_register_airtime); -@@ -2386,7 +2355,7 @@ void sta_set_sinfo(struct sta_info *sta, +@@ -2388,7 +2357,7 @@ void sta_set_sinfo(struct sta_info *sta, } if (!(sinfo->filled & BIT_ULL(NL80211_STA_INFO_AIRTIME_WEIGHT))) { @@ -811,7 +811,7 @@ Signed-off-by: Felix Fietkau } void ieee80211_txq_set_params(struct ieee80211_local *local) -@@ -3820,259 +3821,102 @@ EXPORT_SYMBOL(ieee80211_tx_dequeue); +@@ -3821,259 +3822,102 @@ EXPORT_SYMBOL(ieee80211_tx_dequeue); struct ieee80211_txq *ieee80211_next_txq(struct ieee80211_hw *hw, u8 ac) { struct ieee80211_local *local = hw_to_local(hw); @@ -1133,7 +1133,7 @@ Signed-off-by: Felix Fietkau struct ieee80211_local *local = hw_to_local(hw); if (!wiphy_ext_feature_isset(local->hw.wiphy, NL80211_EXT_FEATURE_AQL)) -@@ -4087,12 +3931,15 @@ bool ieee80211_txq_airtime_check(struct +@@ -4088,12 +3932,15 @@ bool ieee80211_txq_airtime_check(struct if (unlikely(txq->tid == IEEE80211_NUM_TIDS)) return true; @@ -1151,7 +1151,7 @@ Signed-off-by: Felix Fietkau return true; return false; -@@ -4102,59 +3949,60 @@ EXPORT_SYMBOL(ieee80211_txq_airtime_chec +@@ -4103,59 +3950,60 @@ EXPORT_SYMBOL(ieee80211_txq_airtime_chec bool ieee80211_txq_may_transmit(struct ieee80211_hw *hw, struct ieee80211_txq *txq) { diff --git a/package/kernel/mac80211/patches/subsys/331-mac80211-make-sta-airtime-deficit-field-s32-instead-.patch b/package/kernel/mac80211/patches/subsys/331-mac80211-make-sta-airtime-deficit-field-s32-instead-.patch index 1937060c77..95465de9ed 100644 --- a/package/kernel/mac80211/patches/subsys/331-mac80211-make-sta-airtime-deficit-field-s32-instead-.patch +++ b/package/kernel/mac80211/patches/subsys/331-mac80211-make-sta-airtime-deficit-field-s32-instead-.patch @@ -41,7 +41,7 @@ Signed-off-by: Felix Fietkau u32 aql_limit_high; --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -3848,7 +3848,7 @@ struct ieee80211_txq *ieee80211_next_txq +@@ -3849,7 +3849,7 @@ struct ieee80211_txq *ieee80211_next_txq struct sta_info *sta = container_of(txqi->txq.sta, struct sta_info, sta); bool aql_check = ieee80211_txq_airtime_check(hw, &txqi->txq); diff --git a/package/kernel/mac80211/patches/subsys/332-mac80211-consider-aql_tx_pending-when-checking-airti.patch b/package/kernel/mac80211/patches/subsys/332-mac80211-consider-aql_tx_pending-when-checking-airti.patch index e13f399f39..4f5d1a4281 100644 --- a/package/kernel/mac80211/patches/subsys/332-mac80211-consider-aql_tx_pending-when-checking-airti.patch +++ b/package/kernel/mac80211/patches/subsys/332-mac80211-consider-aql_tx_pending-when-checking-airti.patch @@ -14,7 +14,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -3818,6 +3818,13 @@ out: +@@ -3819,6 +3819,13 @@ out: } EXPORT_SYMBOL(ieee80211_tx_dequeue); @@ -28,7 +28,7 @@ Signed-off-by: Felix Fietkau struct ieee80211_txq *ieee80211_next_txq(struct ieee80211_hw *hw, u8 ac) { struct ieee80211_local *local = hw_to_local(hw); -@@ -3848,7 +3855,7 @@ struct ieee80211_txq *ieee80211_next_txq +@@ -3849,7 +3856,7 @@ struct ieee80211_txq *ieee80211_next_txq struct sta_info *sta = container_of(txqi->txq.sta, struct sta_info, sta); bool aql_check = ieee80211_txq_airtime_check(hw, &txqi->txq); @@ -37,7 +37,7 @@ Signed-off-by: Felix Fietkau if (aql_check) found_eligible_txq = true; -@@ -3973,7 +3980,7 @@ bool ieee80211_txq_may_transmit(struct i +@@ -3974,7 +3981,7 @@ bool ieee80211_txq_may_transmit(struct i continue; } sta = container_of(iter->txq.sta, struct sta_info, sta); diff --git a/package/kernel/mac80211/patches/subsys/333-mac80211-keep-recently-active-tx-queues-in-schedulin.patch b/package/kernel/mac80211/patches/subsys/333-mac80211-keep-recently-active-tx-queues-in-schedulin.patch index 9ca3940276..d36e103d5e 100644 --- a/package/kernel/mac80211/patches/subsys/333-mac80211-keep-recently-active-tx-queues-in-schedulin.patch +++ b/package/kernel/mac80211/patches/subsys/333-mac80211-keep-recently-active-tx-queues-in-schedulin.patch @@ -37,7 +37,7 @@ Signed-off-by: Felix Fietkau u32 aql_limit_low; --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -3825,6 +3825,36 @@ static inline s32 ieee80211_sta_deficit( +@@ -3826,6 +3826,36 @@ static inline s32 ieee80211_sta_deficit( return air_info->deficit - atomic_read(&air_info->aql_tx_pending); } @@ -74,7 +74,7 @@ Signed-off-by: Felix Fietkau struct ieee80211_txq *ieee80211_next_txq(struct ieee80211_hw *hw, u8 ac) { struct ieee80211_local *local = hw_to_local(hw); -@@ -3871,7 +3901,6 @@ struct ieee80211_txq *ieee80211_next_txq +@@ -3872,7 +3902,6 @@ struct ieee80211_txq *ieee80211_next_txq } } @@ -82,7 +82,7 @@ Signed-off-by: Felix Fietkau if (txqi->schedule_round == local->schedule_round[ac]) goto out; -@@ -3891,12 +3920,13 @@ void __ieee80211_schedule_txq(struct iee +@@ -3892,12 +3921,13 @@ void __ieee80211_schedule_txq(struct iee { struct ieee80211_local *local = hw_to_local(hw); struct txq_info *txqi = to_txq_info(txq); @@ -98,7 +98,7 @@ Signed-off-by: Felix Fietkau /* If airtime accounting is active, always enqueue STAs at the * head of the list to ensure that they only get moved to the * back by the airtime DRR scheduler once they have a negative -@@ -3904,7 +3934,7 @@ void __ieee80211_schedule_txq(struct iee +@@ -3905,7 +3935,7 @@ void __ieee80211_schedule_txq(struct iee * get immediately moved to the back of the list on the next * call to ieee80211_next_txq(). */ @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau wiphy_ext_feature_isset(local->hw.wiphy, NL80211_EXT_FEATURE_AIRTIME_FAIRNESS)) list_add(&txqi->schedule_order, -@@ -3912,6 +3942,8 @@ void __ieee80211_schedule_txq(struct iee +@@ -3913,6 +3943,8 @@ void __ieee80211_schedule_txq(struct iee else list_add_tail(&txqi->schedule_order, &local->active_txqs[txq->ac]); diff --git a/package/kernel/mac80211/patches/subsys/334-mac80211-add-a-per-PHY-AQL-limit-to-improve-fairness.patch b/package/kernel/mac80211/patches/subsys/334-mac80211-add-a-per-PHY-AQL-limit-to-improve-fairness.patch index 10a520a2a5..80eb8cfcf8 100644 --- a/package/kernel/mac80211/patches/subsys/334-mac80211-add-a-per-PHY-AQL-limit-to-improve-fairness.patch +++ b/package/kernel/mac80211/patches/subsys/334-mac80211-add-a-per-PHY-AQL-limit-to-improve-fairness.patch @@ -35,7 +35,7 @@ Signed-off-by: Felix Fietkau local->airtime_flags = AIRTIME_USE_TX | AIRTIME_USE_RX; --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c -@@ -1930,6 +1930,7 @@ void ieee80211_sta_update_pending_airtim +@@ -1932,6 +1932,7 @@ void ieee80211_sta_update_pending_airtim &sta->airtime[ac].aql_tx_pending); atomic_add(tx_airtime, &local->aql_total_pending_airtime); @@ -43,7 +43,7 @@ Signed-off-by: Felix Fietkau return; } -@@ -1941,14 +1942,17 @@ void ieee80211_sta_update_pending_airtim +@@ -1943,14 +1944,17 @@ void ieee80211_sta_update_pending_airtim tx_pending, 0); } @@ -66,7 +66,7 @@ Signed-off-by: Felix Fietkau int sta_info_move_state(struct sta_info *sta, --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -3864,6 +3864,9 @@ struct ieee80211_txq *ieee80211_next_txq +@@ -3865,6 +3865,9 @@ struct ieee80211_txq *ieee80211_next_txq spin_lock_bh(&local->active_txq_lock[ac]); @@ -76,7 +76,7 @@ Signed-off-by: Felix Fietkau begin: txqi = list_first_entry_or_null(&local->active_txqs[ac], struct txq_info, -@@ -3985,6 +3988,25 @@ bool ieee80211_txq_airtime_check(struct +@@ -3986,6 +3989,25 @@ bool ieee80211_txq_airtime_check(struct } EXPORT_SYMBOL(ieee80211_txq_airtime_check); @@ -102,7 +102,7 @@ Signed-off-by: Felix Fietkau bool ieee80211_txq_may_transmit(struct ieee80211_hw *hw, struct ieee80211_txq *txq) { -@@ -4001,6 +4023,9 @@ bool ieee80211_txq_may_transmit(struct i +@@ -4002,6 +4024,9 @@ bool ieee80211_txq_may_transmit(struct i if (list_empty(&txqi->schedule_order)) goto out; @@ -112,7 +112,7 @@ Signed-off-by: Felix Fietkau list_for_each_entry_safe(iter, tmp, &local->active_txqs[ac], schedule_order) { if (iter == txqi) -@@ -4040,7 +4065,15 @@ void ieee80211_txq_schedule_start(struct +@@ -4041,7 +4066,15 @@ void ieee80211_txq_schedule_start(struct struct ieee80211_local *local = hw_to_local(hw); spin_lock_bh(&local->active_txq_lock[ac]); diff --git a/package/kernel/mac80211/patches/subsys/336-mac80211-only-accumulate-airtime-deficit-for-active-.patch b/package/kernel/mac80211/patches/subsys/336-mac80211-only-accumulate-airtime-deficit-for-active-.patch index 828ab09f89..dff936cc6f 100644 --- a/package/kernel/mac80211/patches/subsys/336-mac80211-only-accumulate-airtime-deficit-for-active-.patch +++ b/package/kernel/mac80211/patches/subsys/336-mac80211-only-accumulate-airtime-deficit-for-active-.patch @@ -13,7 +13,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c -@@ -1901,6 +1901,7 @@ void ieee80211_sta_register_airtime(stru +@@ -1903,6 +1903,7 @@ void ieee80211_sta_register_airtime(stru struct ieee80211_local *local = sta->sdata->local; u8 ac = ieee80211_ac_from_tid(tid); u32 airtime = 0; @@ -21,7 +21,7 @@ Signed-off-by: Felix Fietkau if (sta->local->airtime_flags & AIRTIME_USE_TX) airtime += tx_airtime; -@@ -1910,7 +1911,11 @@ void ieee80211_sta_register_airtime(stru +@@ -1912,7 +1913,11 @@ void ieee80211_sta_register_airtime(stru spin_lock_bh(&local->active_txq_lock[ac]); sta->airtime[ac].tx_airtime += tx_airtime; sta->airtime[ac].rx_airtime += rx_airtime; diff --git a/package/kernel/mac80211/patches/subsys/337-mac80211-increase-quantum-for-airtime-scheduler.patch b/package/kernel/mac80211/patches/subsys/337-mac80211-increase-quantum-for-airtime-scheduler.patch index 84b8821e52..9f07ecc1d6 100644 --- a/package/kernel/mac80211/patches/subsys/337-mac80211-increase-quantum-for-airtime-scheduler.patch +++ b/package/kernel/mac80211/patches/subsys/337-mac80211-increase-quantum-for-airtime-scheduler.patch @@ -23,7 +23,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -3895,7 +3895,7 @@ struct ieee80211_txq *ieee80211_next_txq +@@ -3896,7 +3896,7 @@ struct ieee80211_txq *ieee80211_next_txq if (deficit < 0) sta->airtime[txqi->txq.ac].deficit += @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau if (deficit < 0 || !aql_check) { list_move_tail(&txqi->schedule_order, -@@ -4038,7 +4038,8 @@ bool ieee80211_txq_may_transmit(struct i +@@ -4039,7 +4039,8 @@ bool ieee80211_txq_may_transmit(struct i } sta = container_of(iter->txq.sta, struct sta_info, sta); if (ieee80211_sta_deficit(sta, ac) < 0) @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau list_move_tail(&iter->schedule_order, &local->active_txqs[ac]); } -@@ -4046,7 +4047,7 @@ bool ieee80211_txq_may_transmit(struct i +@@ -4047,7 +4048,7 @@ bool ieee80211_txq_may_transmit(struct i if (sta->airtime[ac].deficit >= 0) goto out; diff --git a/package/kernel/mac80211/patches/subsys/339-mac80211-exclude-multicast-packets-from-AQL-pending-.patch b/package/kernel/mac80211/patches/subsys/339-mac80211-exclude-multicast-packets-from-AQL-pending-.patch index 24bb16b593..61872c55cb 100644 --- a/package/kernel/mac80211/patches/subsys/339-mac80211-exclude-multicast-packets-from-AQL-pending-.patch +++ b/package/kernel/mac80211/patches/subsys/339-mac80211-exclude-multicast-packets-from-AQL-pending-.patch @@ -19,9 +19,9 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -3793,7 +3793,7 @@ begin: +@@ -3794,7 +3794,7 @@ begin: encap_out: - IEEE80211_SKB_CB(skb)->control.vif = vif; + info->control.vif = vif; - if (vif && + if (tx.sta && diff --git a/package/kernel/mac80211/patches/subsys/348-wifi-mac80211-flush-queues-on-STA-removal.patch b/package/kernel/mac80211/patches/subsys/348-wifi-mac80211-flush-queues-on-STA-removal.patch index a5198c34fe..ad01f4701e 100644 --- a/package/kernel/mac80211/patches/subsys/348-wifi-mac80211-flush-queues-on-STA-removal.patch +++ b/package/kernel/mac80211/patches/subsys/348-wifi-mac80211-flush-queues-on-STA-removal.patch @@ -19,7 +19,7 @@ Reviewed-by: Greenman, Gregory --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c -@@ -1071,6 +1071,14 @@ static void __sta_info_destroy_part2(str +@@ -1073,6 +1073,14 @@ static void __sta_info_destroy_part2(str WARN_ON_ONCE(ret); } diff --git a/package/kernel/mac80211/patches/subsys/350-wifi-mac80211-add-flush_sta-method.patch b/package/kernel/mac80211/patches/subsys/350-wifi-mac80211-add-flush_sta-method.patch index 1ab844363c..1141abcda2 100644 --- a/package/kernel/mac80211/patches/subsys/350-wifi-mac80211-add-flush_sta-method.patch +++ b/package/kernel/mac80211/patches/subsys/350-wifi-mac80211-add-flush_sta-method.patch @@ -58,7 +58,7 @@ Reviewed-by: Greenman, Gregory struct ieee80211_channel_switch *ch_switch) --- a/net/mac80211/sta_info.c +++ b/net/mac80211/sta_info.c -@@ -1076,8 +1076,12 @@ static void __sta_info_destroy_part2(str +@@ -1078,8 +1078,12 @@ static void __sta_info_destroy_part2(str * frames sitting on hardware queues might be sent out without * any encryption at all. */