From db9ba5cdb1f7f13e1897a7eb4e1f35738b4c20b5 Mon Sep 17 00:00:00 2001 From: Sean Khan Date: Sat, 22 Jun 2024 17:18:07 -0400 Subject: [PATCH] ath11k_nss: Organize patch order and formatting NSS patches should always get applied last as to avoid fuzzing issues with upstream patches. Also cleanup patches that introduced spaces as indents vs. tabs Signed-off-by: Sean Khan ath11k_nss: drop upstreamed patch A variation of this patch 'wifi: mac80211: Use flexible array in struct ieee80211_tim_ie' was upstreamed in commit 'e6e4d90b69027d74ba7e9a0a586b95a5714e10c0'. Remove it to avoid compilation issues. Signed-off-by: Sean Khan ath11k_nss: Fix patch conflict Signed-off-by: Sean Khan --- package/kernel/mac80211/Makefile | 20 ++++---- .../199-003-ath11k-add-nss-support.patch | 10 ++-- ...load-changes-to-NSS-driver-interface.patch | 14 ++--- ...vdev-in-NSS-for-AP_VLAN-vif-handling.patch | 18 +++---- ...pport-for-WDS-offload-in-NSS-offload.patch | 2 +- ...dev-in-NSS-for-dynamic-VLAN-handling.patch | 12 ++--- .../300-ath11k-nss-mesh-offload-support.patch | 36 ++++++------- .../301-ath11k-nss-mcbc-exception.patch | 8 +-- ...lookup-failure-in-mgmt-tx-completion.patch | 2 +- ...30-ath11k-sync-wds_ast_entry-updates.patch | 6 +-- ...TCL_DATA_CMD_INFO2_TID_OVERWRITE-con.patch | 2 +- ...ct-ast-index-assignment-for-wds-peer.patch | 4 +- ...ix-mutex-dead-lock-and-q6-dump-crash.patch | 2 +- ...agement-frames-to-firmware-before-wa.patch | 2 +- ...th11k-Advertise-TX_QUEUE-mac-hw-flag.patch | 2 +- ...11k-remove-invalid-peer-create-logic.patch | 4 +- ...th11k-rename-ath11k_start_vdev_delay.patch | 2 +- ...ation-of-ath11k_mac_start_vdev_delay.patch | 2 +- ...ailure-due-to-unexpected-peer-delete.patch | 16 +++--- ...k-make-debugfs-sta-htt-stats-modular.patch | 2 +- ...11k-Disable-rx_header-tlv-for-2K-SKB.patch | 10 ++-- ...-nss-thread-priority-during-pdev_ini.patch | 12 ++--- ...999-336-0001-ath11k-idr-optimization.patch | 2 +- .../999-336-0002-ath11k-Use-idr_replace.patch | 4 +- .../199-001-mac80211-add-nss-support.patch | 18 +++---- ...03-mac80211-ath11k-fw-dynamic-muedca.patch | 2 +- ...-ath11k-Add-support-for-dynamic-vlan.patch | 24 ++++----- ...N-iftype-support-on-NSS-offload-case.patch | 30 +++++------ ...-dynamic-VLAN-support-on-NSS-offload.patch | 6 +-- .../nss/subsys/245-compilation_fix.patch | 10 ++-- .../300-ath11k-nss-mesh-offload-support.patch | 24 ++++----- ...TCL_DATA_CMD_INFO2_TID_OVERWRITE-con.patch | 4 +- ...-0005-mac80211-simple-tx-for-AP-mode.patch | 4 +- .../336-mac80211-Mesh-Fast-rx-support.patch | 10 ++-- ...mac80211-fix-unconditional-sta-usage.patch | 4 +- ...unused-RX_FLAGS-from-mac80211_rx_fla.patch | 51 +++++++++++++++---- ...ncapsulation-of-EAPOL-frames-if-OFFL.patch | 42 +++++++-------- ...se-HW-checksum-offload-only-for-ethm.patch | 10 ++-- ...1-Add-mac-hw-flag-to-avoid-queue-skb.patch | 14 ++--- .../829-mac80211-fix-mesh-ping-issue.patch | 13 +++-- .../971-mac80211-fix-field-span-warning.patch | 11 ---- ...ts-ipq8074-add-reserved-memory-nodes.patch | 4 +- ...added-for-necessary-clocks-and-reset.patch | 10 ++-- ...-gcc_snoc_bus_timeout_ahb_clk-offset.patch | 4 +- ...074-Fix-gcc_blsp1_ahb_clk-properties.patch | 2 +- .../0600-1-qca-nss-ecm-support-CORE.patch | 14 ++--- ...-2-qca-nss-ecm-support-PPPOE-offload.patch | 4 +- ...x-IPv6-user-route-change-event-calls.patch | 10 ++-- ...-1-qca-nss-clients-add-qdisc-support.patch | 8 +-- ...qca-nss-clients-add-iptunnel-support.patch | 6 +-- ...-5-qca-nss-clients-add-vxlan-support.patch | 4 +- ...a-nss-clients-iptunnel-lock-this-cpu.patch | 4 +- .../0604-1-qca-add-mcs-support.patch | 4 +- .../0605-1-qca-nss-cfi-support.patch | 24 ++++----- .../0981-1-qca-skb_recycler-support.patch | 42 +++++++-------- ...com-disable-swiotlb-for-64mb-savings.patch | 8 +-- 56 files changed, 319 insertions(+), 300 deletions(-) delete mode 100644 package/kernel/mac80211/patches/nss/subsys/971-mac80211-fix-field-span-warning.patch diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index 0f84d9d9bd..c0074da9f3 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -379,16 +379,16 @@ define Build/Patch $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath10k,ath10k/) $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath11k,ath11k/) $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath12k,ath12k/) -ifdef CONFIG_ATH11K_NSS_SUPPORT - $(foreach driver,$(NSS_PATCH), - $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/nss/$(driver),nss/$(driver)/) - ) -endif $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/) $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mt7601u,mt7601u/) $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/) $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/) $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rtl,rtl/) +ifdef CONFIG_ATH11K_NSS_SUPPORT + $(foreach driver,$(NSS_PATCH), + $(call PatchDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/nss/$(driver),nss/$(driver)/) + ) +endif $(if $(QUILT),touch $(PKG_BUILD_DIR)/.quilt_used) endef @@ -401,16 +401,16 @@ define Quilt/Refresh/Package $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath10k,ath10k/) $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath11k,ath11k/) $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/ath12k,ath12k/) -ifdef CONFIG_ATH11K_NSS_SUPPORT - $(foreach driver,$(NSS_PATCH), - $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/nss/$(driver),nss/$(driver)/) - ) -endif $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rt2x00,rt2x00/) $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mt7601u,mt7601u/) $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/mwl,mwl/) $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/brcm,brcm/) $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/rtl,rtl/) +ifdef CONFIG_ATH11K_NSS_SUPPORT + $(foreach driver,$(NSS_PATCH), + $(call Quilt/RefreshDir,$(PKG_BUILD_DIR),$(PATCH_DIR)/nss/$(driver),nss/$(driver)/) + ) +endif endef define Build/Compile diff --git a/package/kernel/mac80211/patches/nss/ath11k/199-003-ath11k-add-nss-support.patch b/package/kernel/mac80211/patches/nss/ath11k/199-003-ath11k-add-nss-support.patch index e30b5d761d..b123e3d2a7 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/199-003-ath11k-add-nss-support.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/199-003-ath11k-add-nss-support.patch @@ -1000,7 +1000,7 @@ Signed-off-by: Sriram R /* This shouldn't happen, indicating error during defragmentation */ if (skb_queue_empty(&subframe_list)) -@@ -658,12 +660,14 @@ drop: +@@ -661,12 +663,14 @@ drop: return -EINVAL; } @@ -1016,7 +1016,7 @@ Signed-off-by: Sriram R if (!ar->ab->nss.enabled) return 0; -@@ -676,6 +680,22 @@ int ath11k_nss_vdev_set_cmd(struct ath11 +@@ -679,6 +683,22 @@ int ath11k_nss_vdev_set_cmd(struct ath11 if (!vdev_msg) return -ENOMEM; @@ -1039,7 +1039,7 @@ Signed-off-by: Sriram R /* TODO: Convert to function for conversion in case of many * such commands */ -@@ -1137,7 +1157,6 @@ void ath11k_nss_update_sta_stats(struct +@@ -1140,7 +1160,6 @@ void ath11k_nss_update_sta_stats(struct { struct sta_info *stainfo; struct ath11k_peer *peer; @@ -1047,7 +1047,7 @@ Signed-off-by: Sriram R struct ath11k *ar = arsta->arvif->ar; struct ath11k_base *ab = ar->ab; -@@ -1231,6 +1250,9 @@ void ath11k_nss_update_sta_rxrate(struct +@@ -1234,6 +1253,9 @@ void ath11k_nss_update_sta_rxrate(struct if (!ab->nss.enabled) return; @@ -1057,7 +1057,7 @@ Signed-off-by: Sriram R if (!peer->nss.nss_stats) return; -@@ -1290,7 +1312,7 @@ void ath11k_nss_update_sta_rxrate(struct +@@ -1293,7 +1315,7 @@ void ath11k_nss_update_sta_rxrate(struct peer->nss.nss_stats->rxrate.mcs = mcs; peer->nss.nss_stats->rxrate.flags = RATE_INFO_FLAGS_HE_MCS; peer->nss.nss_stats->rxrate.he_dcm = ppdu_info->dcm; diff --git a/package/kernel/mac80211/patches/nss/ath11k/211-001-ath11k-add-WDS-offload-changes-to-NSS-driver-interface.patch b/package/kernel/mac80211/patches/nss/ath11k/211-001-ath11k-add-WDS-offload-changes-to-NSS-driver-interface.patch index a470ba9345..687bbd1f6a 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/211-001-ath11k-add-WDS-offload-changes-to-NSS-driver-interface.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/211-001-ath11k-add-WDS-offload-changes-to-NSS-driver-interface.patch @@ -327,7 +327,7 @@ Signed-off-by: Sathishkumar Muruganandam dev_kfree_skb_any(skb); return; } -@@ -1321,7 +1546,7 @@ void ath11k_nss_update_sta_rxrate(struct +@@ -1324,7 +1549,7 @@ void ath11k_nss_update_sta_rxrate(struct peer->nss.nss_stats->rxrate.bw = ath11k_mac_bw_to_mac80211_bw(ppdu_info->bw); } @@ -336,7 +336,7 @@ Signed-off-by: Sathishkumar Muruganandam { struct nss_wifili_peer_msg *peer_msg; struct nss_wifili_msg *wlmsg = NULL; -@@ -1335,9 +1560,10 @@ int ath11k_nss_peer_delete(struct ath11k +@@ -1338,9 +1563,10 @@ int ath11k_nss_peer_delete(struct ath11k spin_lock_bh(&ab->base_lock); @@ -349,7 +349,7 @@ Signed-off-by: Sathishkumar Muruganandam spin_unlock_bh(&ab->base_lock); return -EINVAL; } -@@ -1410,8 +1636,9 @@ free_peer: +@@ -1413,8 +1639,9 @@ free_peer: return ret; } @@ -360,7 +360,7 @@ Signed-off-by: Sathishkumar Muruganandam struct nss_wifili_peer_msg *peer_msg; struct nss_wifili_msg *wlmsg = NULL; nss_wifili_msg_callback_t msg_cb; -@@ -1468,17 +1695,23 @@ int ath11k_nss_peer_create(struct ath11k +@@ -1471,17 +1698,23 @@ int ath11k_nss_peer_create(struct ath11k status = nss_wifili_tx_msg(ab->nss.ctx, wlmsg); if (status != NSS_TX_SUCCESS) { ret = -EINVAL; @@ -387,7 +387,7 @@ Signed-off-by: Sathishkumar Muruganandam peer->nss.nss_stats = kzalloc(sizeof(*peer->nss.nss_stats), GFP_ATOMIC); if (!peer->nss.nss_stats) { ret = -ENOMEM; -@@ -1497,6 +1730,199 @@ msg_free: +@@ -1500,6 +1733,199 @@ msg_free: return ret; } @@ -587,7 +587,7 @@ Signed-off-by: Sathishkumar Muruganandam /*-------------------------------INIT/DEINIT---------------------------------*/ static int ath11k_nss_radio_buf_cfg(struct ath11k *ar, int range, int buf_sz) -@@ -1890,7 +2316,7 @@ static int ath11k_nss_init(struct ath11k +@@ -1893,7 +2319,7 @@ static int ath11k_nss_init(struct ath11k status = nss_wifili_tx_msg(nss_contex, wlmsg); if (status != NSS_TX_SUCCESS) { @@ -596,7 +596,7 @@ Signed-off-by: Sathishkumar Muruganandam goto unregister; } -@@ -1944,7 +2370,8 @@ static int ath11k_nss_stats_cfg(struct a +@@ -1947,7 +2373,8 @@ static int ath11k_nss_stats_cfg(struct a status = nss_wifili_tx_msg(ar->nss.ctx, wlmsg); if (status != NSS_TX_SUCCESS) { diff --git a/package/kernel/mac80211/patches/nss/ath11k/235-002-ath11k-add-support-for-ext-vdev-in-NSS-for-AP_VLAN-vif-handling.patch b/package/kernel/mac80211/patches/nss/ath11k/235-002-ath11k-add-support-for-ext-vdev-in-NSS-for-AP_VLAN-vif-handling.patch index 7a93596826..07f341cd04 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/235-002-ath11k-add-support-for-ext-vdev-in-NSS-for-AP_VLAN-vif-handling.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/235-002-ath11k-add-support-for-ext-vdev-in-NSS-for-AP_VLAN-vif-handling.patch @@ -180,7 +180,7 @@ Signed-off-by: Sathishkumar Muruganandam int ath11k_nss_tx(struct ath11k_vif *arvif, struct sk_buff *skb) { struct ath11k *ar = arvif->ar; -@@ -867,10 +940,16 @@ int ath11k_nss_tx(struct ath11k_vif *arv +@@ -869,10 +942,16 @@ int ath11k_nss_tx(struct ath11k_vif *arv ath11k_nss_tx_encap_nwifi(skb); send: @@ -201,7 +201,7 @@ Signed-off-by: Sathishkumar Muruganandam if (status != NSS_TX_SUCCESS) { ath11k_dbg(ar->ab, (ATH11K_DBG_NSS | ATH11K_DBG_DP_TX), -@@ -1211,6 +1290,7 @@ int ath11k_nss_vdev_up(struct ath11k_vif +@@ -1214,6 +1293,7 @@ int ath11k_nss_vdev_up(struct ath11k_vif struct nss_wifi_vdev_msg *vdev_msg = NULL; struct nss_wifi_vdev_enable_msg *vdev_en; struct ath11k *ar = arvif->ar; @@ -209,7 +209,7 @@ Signed-off-by: Sathishkumar Muruganandam nss_tx_status_t status; int ret = 0; -@@ -1242,6 +1322,12 @@ int ath11k_nss_vdev_up(struct ath11k_vif +@@ -1245,6 +1325,12 @@ int ath11k_nss_vdev_up(struct ath11k_vif } ath11k_dbg(ar->ab, ATH11K_DBG_NSS, "nss vdev up tx msg success\n"); @@ -222,7 +222,7 @@ Signed-off-by: Sathishkumar Muruganandam free: kfree(vdev_msg); return ret; -@@ -1251,6 +1337,7 @@ int ath11k_nss_vdev_down(struct ath11k_v +@@ -1254,6 +1340,7 @@ int ath11k_nss_vdev_down(struct ath11k_v { struct nss_wifi_vdev_msg *vdev_msg = NULL; struct ath11k *ar = arvif->ar; @@ -230,7 +230,7 @@ Signed-off-by: Sathishkumar Muruganandam nss_tx_status_t status; int ret = 0; -@@ -1278,11 +1365,362 @@ int ath11k_nss_vdev_down(struct ath11k_v +@@ -1281,11 +1368,362 @@ int ath11k_nss_vdev_down(struct ath11k_v } ath11k_dbg(ar->ab, ATH11K_DBG_NSS, "nss vdev down tx msg success\n"); @@ -593,7 +593,7 @@ Signed-off-by: Sathishkumar Muruganandam /*----------------------------Peer Setup/Config -----------------------------*/ int ath11k_nss_set_peer_sec_type(struct ath11k *ar, -@@ -1376,22 +1814,22 @@ free: +@@ -1379,22 +1817,22 @@ free: return status; } @@ -623,7 +623,7 @@ Signed-off-by: Sathishkumar Muruganandam sta->addr); goto exit; } -@@ -1463,13 +1901,13 @@ void ath11k_nss_update_sta_rxrate(struct +@@ -1466,13 +1904,13 @@ void ath11k_nss_update_sta_rxrate(struct struct ath11k_peer *peer, struct hal_rx_user_status *user_stats) { @@ -639,7 +639,7 @@ Signed-off-by: Sathishkumar Muruganandam struct ath11k_base *ab = ar->ab; if (!ab->nss.enabled) -@@ -1773,8 +2211,8 @@ int ath11k_nss_add_wds_peer(struct ath11 +@@ -1776,8 +2214,8 @@ int ath11k_nss_add_wds_peer(struct ath11 } ath11k_dbg(ab, ATH11K_DBG_NSS_WDS, @@ -650,7 +650,7 @@ Signed-off-by: Sathishkumar Muruganandam msg_free: kfree(wlmsg); -@@ -1819,8 +2257,8 @@ int ath11k_nss_update_wds_peer(struct at +@@ -1822,8 +2260,8 @@ int ath11k_nss_update_wds_peer(struct at } ath11k_dbg(ab, ATH11K_DBG_NSS_WDS, diff --git a/package/kernel/mac80211/patches/nss/ath11k/235-003-ath11k-add-AP_VLAN-vif-support-for-WDS-offload-in-NSS-offload.patch b/package/kernel/mac80211/patches/nss/ath11k/235-003-ath11k-add-AP_VLAN-vif-support-for-WDS-offload-in-NSS-offload.patch index b8eb343f4f..7e922f6aef 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/235-003-ath11k-add-AP_VLAN-vif-support-for-WDS-offload-in-NSS-offload.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/235-003-ath11k-add-AP_VLAN-vif-support-for-WDS-offload-in-NSS-offload.patch @@ -542,7 +542,7 @@ Signed-off-by: Sathishkumar Muruganandam spin_unlock_bh(&ab->base_lock); rcu_read_unlock(); -@@ -997,6 +1003,9 @@ int ath11k_nss_vdev_set_cmd(struct ath11 +@@ -1000,6 +1006,9 @@ int ath11k_nss_vdev_set_cmd(struct ath11 case ATH11K_NSS_WIFI_VDEV_DECAP_TYPE_CMD: cmd = NSS_WIFI_VDEV_DECAP_TYPE_CMD; break; diff --git a/package/kernel/mac80211/patches/nss/ath11k/236-002-ath11k-extend-ext-vdev-in-NSS-for-dynamic-VLAN-handling.patch b/package/kernel/mac80211/patches/nss/ath11k/236-002-ath11k-extend-ext-vdev-in-NSS-for-dynamic-VLAN-handling.patch index cb1e39f149..bc0618693f 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/236-002-ath11k-extend-ext-vdev-in-NSS-for-dynamic-VLAN-handling.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/236-002-ath11k-extend-ext-vdev-in-NSS-for-dynamic-VLAN-handling.patch @@ -15,7 +15,7 @@ Signed-off-by: Sathishkumar Muruganandam --- a/drivers/net/wireless/ath/ath11k/nss.c +++ b/drivers/net/wireless/ath/ath11k/nss.c -@@ -1527,14 +1527,11 @@ static int ath11k_nss_ext_vdev_register( +@@ -1530,14 +1530,11 @@ static int ath11k_nss_ext_vdev_register( struct ath11k *ar = arvif->ar; struct ath11k_base *ab = ar->ab; nss_tx_status_t status; @@ -30,7 +30,7 @@ Signed-off-by: Sathishkumar Muruganandam arvif->nss.ctx = nss_wifi_ext_vdev_register_if(arvif->nss.if_num, ath11k_nss_ext_vdev_data_receive, ath11k_nss_ext_vdev_special_data_receive, -@@ -1562,7 +1559,8 @@ static void ath11k_nss_ext_vdev_free(str +@@ -1565,7 +1562,8 @@ static void ath11k_nss_ext_vdev_free(str status = nss_dynamic_interface_dealloc_node( arvif->nss.if_num, @@ -40,7 +40,7 @@ Signed-off-by: Sathishkumar Muruganandam if (status != NSS_TX_SUCCESS) ath11k_warn(ab, "failed to free nss ext vdev err:%d\n", status); -@@ -1571,14 +1569,19 @@ static void ath11k_nss_ext_vdev_free(str +@@ -1574,14 +1572,19 @@ static void ath11k_nss_ext_vdev_free(str "nss ext vdev interface deallocated\n"); } @@ -62,7 +62,7 @@ Signed-off-by: Sathishkumar Muruganandam if_num = nss_dynamic_interface_alloc_node(di_type); if (if_num < 0) { ath11k_warn(ab, "failed to allocate nss ext vdev\n"); -@@ -1587,8 +1590,8 @@ static int ath11k_nss_ext_vdev_alloc(str +@@ -1590,8 +1593,8 @@ static int ath11k_nss_ext_vdev_alloc(str arvif->nss.if_num = if_num; ath11k_dbg(ab, ATH11K_DBG_NSS_WDS, @@ -73,7 +73,7 @@ Signed-off-by: Sathishkumar Muruganandam return 0; } -@@ -1617,7 +1620,7 @@ int ath11k_nss_ext_vdev_create(struct at +@@ -1620,7 +1623,7 @@ int ath11k_nss_ext_vdev_create(struct at return -EINVAL; } @@ -82,7 +82,7 @@ Signed-off-by: Sathishkumar Muruganandam if (ret) return ret; -@@ -1730,6 +1733,86 @@ free: +@@ -1733,6 +1736,86 @@ free: return ret; } diff --git a/package/kernel/mac80211/patches/nss/ath11k/300-ath11k-nss-mesh-offload-support.patch b/package/kernel/mac80211/patches/nss/ath11k/300-ath11k-nss-mesh-offload-support.patch index dbd792aeca..af08f35308 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/300-ath11k-nss-mesh-offload-support.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/300-ath11k-nss-mesh-offload-support.patch @@ -1257,7 +1257,7 @@ Signed-off-by: Vasanthakumar Thiagarajan mutex_unlock(&ar->conf_mutex); } -@@ -9709,6 +9721,28 @@ err_fallback: +@@ -9707,6 +9719,28 @@ err_fallback: return 0; } @@ -1286,7 +1286,7 @@ Signed-off-by: Vasanthakumar Thiagarajan static const struct ieee80211_ops ath11k_ops = { .tx = ath11k_mac_op_tx, .wake_tx_queue = ieee80211_handle_wake_tx_queue, -@@ -9766,6 +9800,9 @@ static const struct ieee80211_ops ath11k +@@ -9764,6 +9798,9 @@ static const struct ieee80211_ops ath11k .set_sar_specs = ath11k_mac_op_set_bios_sar_specs, .remain_on_channel = ath11k_mac_op_remain_on_channel, .cancel_remain_on_channel = ath11k_mac_op_cancel_remain_on_channel, @@ -1296,7 +1296,7 @@ Signed-off-by: Vasanthakumar Thiagarajan }; static void ath11k_mac_update_ch_list(struct ath11k *ar, -@@ -10227,6 +10264,8 @@ static int __ath11k_mac_register(struct +@@ -10225,6 +10262,8 @@ static int __ath11k_mac_register(struct ieee80211_hw_set(ar->hw, SUPPORTS_NSS_OFFLOAD); wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_VLAN_OFFLOAD); @@ -2629,7 +2629,7 @@ Signed-off-by: Vasanthakumar Thiagarajan if (status != NSS_TX_SUCCESS) { ath11k_dbg(ar->ab, (ATH11K_DBG_NSS | ATH11K_DBG_DP_TX), -@@ -1057,6 +2180,9 @@ static int ath11k_nss_vdev_configure(str +@@ -1060,6 +2183,9 @@ static int ath11k_nss_vdev_configure(str vdev_cfg = &vdev_msg->msg.vdev_config; @@ -2639,7 +2639,7 @@ Signed-off-by: Vasanthakumar Thiagarajan vdev_cfg->radio_ifnum = ar->nss.if_num; vdev_cfg->vdev_id = arvif->vdev_id; -@@ -1095,6 +2221,39 @@ free: +@@ -1098,6 +2224,39 @@ free: return ret; } @@ -2679,7 +2679,7 @@ Signed-off-by: Vasanthakumar Thiagarajan static void ath11k_nss_vdev_unregister(struct ath11k_vif *arvif) { struct ath11k_base *ab = arvif->ar->ab; -@@ -1106,6 +2265,14 @@ static void ath11k_nss_vdev_unregister(s +@@ -1109,6 +2268,14 @@ static void ath11k_nss_vdev_unregister(s ath11k_dbg(ab, ATH11K_DBG_NSS, "unregistered nss vdev %d \n", arvif->nss.if_num); break; @@ -2694,7 +2694,7 @@ Signed-off-by: Vasanthakumar Thiagarajan default: ath11k_warn(ab, "unsupported interface type %d for nss vdev unregister\n", arvif->vif->type); -@@ -1113,6 +2280,78 @@ static void ath11k_nss_vdev_unregister(s +@@ -1116,6 +2283,78 @@ static void ath11k_nss_vdev_unregister(s } } @@ -2773,7 +2773,7 @@ Signed-off-by: Vasanthakumar Thiagarajan static int ath11k_nss_vdev_register(struct ath11k_vif *arvif, struct net_device *netdev) { -@@ -1140,6 +2379,15 @@ static int ath11k_nss_vdev_register(stru +@@ -1143,6 +2382,15 @@ static int ath11k_nss_vdev_register(stru arvif->nss.if_num); break; @@ -2789,7 +2789,7 @@ Signed-off-by: Vasanthakumar Thiagarajan default: ath11k_warn(ab, "unsupported interface type %d for nss vdev register\n", arvif->vif->type); -@@ -1149,6 +2397,62 @@ static int ath11k_nss_vdev_register(stru +@@ -1152,6 +2400,62 @@ static int ath11k_nss_vdev_register(stru return 0; } @@ -2852,7 +2852,7 @@ Signed-off-by: Vasanthakumar Thiagarajan void ath11k_nss_vdev_free(struct ath11k_vif *arvif) { struct ath11k_base *ab = arvif->ar->ab; -@@ -1168,6 +2472,11 @@ void ath11k_nss_vdev_free(struct ath11k_ +@@ -1171,6 +2475,11 @@ void ath11k_nss_vdev_free(struct ath11k_ "nss vdev interface deallocated\n"); return; @@ -2864,7 +2864,7 @@ Signed-off-by: Vasanthakumar Thiagarajan default: ath11k_warn(ab, "unsupported interface type %d for nss vdev dealloc\n", arvif->vif->type); -@@ -1175,11 +2484,96 @@ void ath11k_nss_vdev_free(struct ath11k_ +@@ -1178,11 +2487,96 @@ void ath11k_nss_vdev_free(struct ath11k_ } } @@ -2962,7 +2962,7 @@ Signed-off-by: Vasanthakumar Thiagarajan /* Initialize completion for verifying NSS message response */ init_completion(&arvif->nss.complete); -@@ -1201,6 +2595,16 @@ static int ath11k_nss_vdev_alloc(struct +@@ -1204,6 +2598,16 @@ static int ath11k_nss_vdev_alloc(struct arvif->nss.if_num); break; @@ -2979,7 +2979,7 @@ Signed-off-by: Vasanthakumar Thiagarajan default: ath11k_warn(ab, "unsupported interface type %d for nss vdev alloc\n", arvif->vif->type); -@@ -1238,7 +2642,7 @@ int ath11k_nss_vdev_create(struct ath11k +@@ -1241,7 +2645,7 @@ int ath11k_nss_vdev_create(struct ath11k return -EINVAL; } @@ -2988,7 +2988,7 @@ Signed-off-by: Vasanthakumar Thiagarajan if (ret) return ret; -@@ -1254,6 +2658,45 @@ int ath11k_nss_vdev_create(struct ath11k +@@ -1257,6 +2661,45 @@ int ath11k_nss_vdev_create(struct ath11k goto unregister_vdev; break; @@ -3034,7 +3034,7 @@ Signed-off-by: Vasanthakumar Thiagarajan default: ret = -ENOTSUPP; goto unregister_vdev; -@@ -1310,6 +2753,15 @@ int ath11k_nss_vdev_up(struct ath11k_vif +@@ -1313,6 +2756,15 @@ int ath11k_nss_vdev_up(struct ath11k_vif if (arvif->vdev_type == WMI_VDEV_TYPE_MONITOR) return 0; @@ -3050,7 +3050,7 @@ Signed-off-by: Vasanthakumar Thiagarajan vdev_msg = kzalloc(sizeof(struct nss_wifi_vdev_msg), GFP_ATOMIC); if (!vdev_msg) return -ENOMEM; -@@ -1357,6 +2809,15 @@ int ath11k_nss_vdev_down(struct ath11k_v +@@ -1360,6 +2812,15 @@ int ath11k_nss_vdev_down(struct ath11k_v if (arvif->vdev_type == WMI_VDEV_TYPE_MONITOR) return 0; @@ -3066,7 +3066,7 @@ Signed-off-by: Vasanthakumar Thiagarajan vdev_msg = kzalloc(sizeof(struct nss_wifi_vdev_msg), GFP_ATOMIC); if (!vdev_msg) return -ENOMEM; -@@ -2731,6 +4192,51 @@ static int ath11k_nss_get_dynamic_interf +@@ -2734,6 +4195,51 @@ static int ath11k_nss_get_dynamic_interf } } @@ -3118,7 +3118,7 @@ Signed-off-by: Vasanthakumar Thiagarajan static int ath11k_nss_init(struct ath11k_base *ab) { struct nss_wifili_init_msg *wim = NULL; -@@ -2863,6 +4369,17 @@ static int ath11k_nss_init(struct ath11k +@@ -2866,6 +4372,17 @@ static int ath11k_nss_init(struct ath11k kfree(wlmsg); diff --git a/package/kernel/mac80211/patches/nss/ath11k/301-ath11k-nss-mcbc-exception.patch b/package/kernel/mac80211/patches/nss/ath11k/301-ath11k-nss-mcbc-exception.patch index 2fa70d0f39..ea279879b8 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/301-ath11k-nss-mcbc-exception.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/301-ath11k-nss-mcbc-exception.patch @@ -126,7 +126,7 @@ Change-Id: I4a6ac67a1c2cf3ab7a219d0953907191606a5e70 } static void -@@ -2129,6 +2163,9 @@ int ath11k_nss_vdev_set_cmd(struct ath11 +@@ -2132,6 +2166,9 @@ int ath11k_nss_vdev_set_cmd(struct ath11 case ATH11K_NSS_WIFI_VDEV_CFG_WDS_BACKHAUL_CMD: cmd = NSS_WIFI_VDEV_CFG_WDS_BACKHAUL_CMD; break; @@ -136,7 +136,7 @@ Change-Id: I4a6ac67a1c2cf3ab7a219d0953907191606a5e70 default: return -EINVAL; } -@@ -2651,12 +2688,31 @@ int ath11k_nss_vdev_create(struct ath11k +@@ -2654,12 +2691,31 @@ int ath11k_nss_vdev_create(struct ath11k goto free_vdev; switch (arvif->vif->type) { @@ -169,7 +169,7 @@ Change-Id: I4a6ac67a1c2cf3ab7a219d0953907191606a5e70 break; #ifdef CPTCFG_ATH11K_NSS_MESH_SUPPORT case NL80211_IFTYPE_MESH_POINT: -@@ -2987,7 +3043,6 @@ static int ath11k_nss_ext_vdev_register( +@@ -2990,7 +3046,6 @@ static int ath11k_nss_ext_vdev_register( { struct ath11k *ar = arvif->ar; struct ath11k_base *ab = ar->ab; @@ -177,7 +177,7 @@ Change-Id: I4a6ac67a1c2cf3ab7a219d0953907191606a5e70 u32 features = 0; if (arvif->vif->type != NL80211_IFTYPE_AP_VLAN || arvif->nss.ctx) -@@ -3001,7 +3056,7 @@ static int ath11k_nss_ext_vdev_register( +@@ -3004,7 +3059,7 @@ static int ath11k_nss_ext_vdev_register( if (!arvif->nss.ctx) { ath11k_warn(ab, "failed to register nss vdev if_num %d nss_err:%d\n", diff --git a/package/kernel/mac80211/patches/nss/ath11k/314-ath11k-Fix-peer-lookup-failure-in-mgmt-tx-completion.patch b/package/kernel/mac80211/patches/nss/ath11k/314-ath11k-Fix-peer-lookup-failure-in-mgmt-tx-completion.patch index 6edfd5f920..448bd3c70d 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/314-ath11k-Fix-peer-lookup-failure-in-mgmt-tx-completion.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/314-ath11k-Fix-peer-lookup-failure-in-mgmt-tx-completion.patch @@ -23,7 +23,7 @@ Signed-off-by: Rameshkumar Sundaram --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c -@@ -7638,8 +7638,10 @@ err_vdev_del: +@@ -7636,8 +7636,10 @@ err_vdev_del: kfree(arvif->vlan_keyid_map); ath11k_peer_cleanup(ar, arvif->vdev_id); diff --git a/package/kernel/mac80211/patches/nss/ath11k/330-ath11k-sync-wds_ast_entry-updates.patch b/package/kernel/mac80211/patches/nss/ath11k/330-ath11k-sync-wds_ast_entry-updates.patch index 01ccc6003f..9993e4d477 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/330-ath11k-sync-wds_ast_entry-updates.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/330-ath11k-sync-wds_ast_entry-updates.patch @@ -124,7 +124,7 @@ Signed-off-by: Rameshkumar Sundaram break; default: ath11k_warn(ab, "unsupported wds_type %d\n", wds_type); -@@ -3796,11 +3797,7 @@ int ath11k_nss_add_wds_peer(struct ath11 +@@ -3799,11 +3800,7 @@ int ath11k_nss_add_wds_peer(struct ath11 wds_peer_msg->ast_type = type; wds_peer_msg->peer_id = peer->peer_id; @@ -137,7 +137,7 @@ Signed-off-by: Rameshkumar Sundaram ether_addr_copy(wds_peer_msg->dest_mac, dest_mac); msg_cb = (nss_wifili_msg_callback_t)ath11k_nss_wifili_event_receive; -@@ -3923,7 +3920,7 @@ msg_free: +@@ -3926,7 +3923,7 @@ msg_free: return ret; } @@ -146,7 +146,7 @@ Signed-off-by: Rameshkumar Sundaram u8 *dest_mac) { struct ath11k_base *ab = ar->ab; -@@ -3941,8 +3938,8 @@ int ath11k_nss_del_wds_peer(struct ath11 +@@ -3944,8 +3941,8 @@ int ath11k_nss_del_wds_peer(struct ath11 wds_peer_msg->pdev_id = ar->pdev->pdev_id; wds_peer_msg->ast_type = ATH11K_AST_TYPE_NONE; diff --git a/package/kernel/mac80211/patches/nss/ath11k/335-0003-ath11k-skip-HAL_TCL_DATA_CMD_INFO2_TID_OVERWRITE-con.patch b/package/kernel/mac80211/patches/nss/ath11k/335-0003-ath11k-skip-HAL_TCL_DATA_CMD_INFO2_TID_OVERWRITE-con.patch index 8e018e619f..cb33d8d347 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/335-0003-ath11k-skip-HAL_TCL_DATA_CMD_INFO2_TID_OVERWRITE-con.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/335-0003-ath11k-skip-HAL_TCL_DATA_CMD_INFO2_TID_OVERWRITE-con.patch @@ -58,7 +58,7 @@ Signed-off-by: Venkateswara Naralasetty tcl_cmd.info3 = FIELD_PREP(HAL_TCL_DATA_CMD_INFO3_DSCP_TID_TABLE_IDX, --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c -@@ -10150,6 +10150,8 @@ static int __ath11k_mac_register(struct +@@ -10148,6 +10148,8 @@ static int __ath11k_mac_register(struct ieee80211_hw_set(ar->hw, USES_RSS); } diff --git a/package/kernel/mac80211/patches/nss/ath11k/362-ath11k-fix-incorrect-ast-index-assignment-for-wds-peer.patch b/package/kernel/mac80211/patches/nss/ath11k/362-ath11k-fix-incorrect-ast-index-assignment-for-wds-peer.patch index 3786bd3de9..cc2981a2c0 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/362-ath11k-fix-incorrect-ast-index-assignment-for-wds-peer.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/362-ath11k-fix-incorrect-ast-index-assignment-for-wds-peer.patch @@ -19,7 +19,7 @@ Signed-off-by: Raj Kumar Bhagat --- a/drivers/net/wireless/ath/ath11k/nss.c +++ b/drivers/net/wireless/ath/ath11k/nss.c -@@ -3871,13 +3871,14 @@ msg_free: +@@ -3874,13 +3874,14 @@ msg_free: } int ath11k_nss_map_wds_peer(struct ath11k *ar, struct ath11k_peer *peer, @@ -35,7 +35,7 @@ Signed-off-by: Raj Kumar Bhagat int ret = 0; wlmsg = kzalloc(sizeof(struct nss_wifili_msg), GFP_ATOMIC); -@@ -3887,7 +3888,7 @@ int ath11k_nss_map_wds_peer(struct ath11 +@@ -3890,7 +3891,7 @@ int ath11k_nss_map_wds_peer(struct ath11 wds_peer_map_msg = &wlmsg->msg.wdspeermapmsg; wds_peer_map_msg->vdev_id = peer->vdev_id; diff --git a/package/kernel/mac80211/patches/nss/ath11k/401-ath11k-Fix-mutex-dead-lock-and-q6-dump-crash.patch b/package/kernel/mac80211/patches/nss/ath11k/401-ath11k-Fix-mutex-dead-lock-and-q6-dump-crash.patch index ceeb15c8cb..125250fdb3 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/401-ath11k-Fix-mutex-dead-lock-and-q6-dump-crash.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/401-ath11k-Fix-mutex-dead-lock-and-q6-dump-crash.patch @@ -36,7 +36,7 @@ Signed-off-by: Rajat Soni --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c -@@ -6786,7 +6786,9 @@ static int ath11k_mac_op_start(struct ie +@@ -6784,7 +6784,9 @@ static int ath11k_mac_op_start(struct ie break; case ATH11K_STATE_RESTARTING: ar->state = ATH11K_STATE_RESTARTED; diff --git a/package/kernel/mac80211/patches/nss/ath11k/453-ath11k-flush-management-frames-to-firmware-before-wa.patch b/package/kernel/mac80211/patches/nss/ath11k/453-ath11k-flush-management-frames-to-firmware-before-wa.patch index 90982924fe..cc1f393c2b 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/453-ath11k-flush-management-frames-to-firmware-before-wa.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/453-ath11k-flush-management-frames-to-firmware-before-wa.patch @@ -27,7 +27,7 @@ Signed-off-by: Hari Chandrakanthan --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c -@@ -8464,6 +8464,8 @@ static int ath11k_mac_flush_tx_complete( +@@ -8462,6 +8462,8 @@ static int ath11k_mac_flush_tx_complete( ret = -ETIMEDOUT; } diff --git a/package/kernel/mac80211/patches/nss/ath11k/456-wifi-ath11k-Advertise-TX_QUEUE-mac-hw-flag.patch b/package/kernel/mac80211/patches/nss/ath11k/456-wifi-ath11k-Advertise-TX_QUEUE-mac-hw-flag.patch index 510fbc2448..c9b8f4dbb3 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/456-wifi-ath11k-Advertise-TX_QUEUE-mac-hw-flag.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/456-wifi-ath11k-Advertise-TX_QUEUE-mac-hw-flag.patch @@ -13,7 +13,7 @@ Signed-off-by: Yuvasree Sivasankaran --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c -@@ -10141,6 +10141,7 @@ static int __ath11k_mac_register(struct +@@ -10139,6 +10139,7 @@ static int __ath11k_mac_register(struct ieee80211_hw_set(ar->hw, QUEUE_CONTROL); ieee80211_hw_set(ar->hw, SUPPORTS_TX_FRAG); ieee80211_hw_set(ar->hw, REPORTS_LOW_ACK); diff --git a/package/kernel/mac80211/patches/nss/ath11k/907-01-wifi-ath11k-remove-invalid-peer-create-logic.patch b/package/kernel/mac80211/patches/nss/ath11k/907-01-wifi-ath11k-remove-invalid-peer-create-logic.patch index 4d8f9f28e3..401fa2d012 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/907-01-wifi-ath11k-remove-invalid-peer-create-logic.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/907-01-wifi-ath11k-remove-invalid-peer-create-logic.patch @@ -26,7 +26,7 @@ Acked-by: Jeff Johnson --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c -@@ -8218,7 +8218,6 @@ ath11k_mac_op_assign_vif_chanctx(struct +@@ -8216,7 +8216,6 @@ ath11k_mac_op_assign_vif_chanctx(struct struct ath11k_base *ab = ar->ab; struct ath11k_vif *arvif = ath11k_vif_to_arvif(vif); int ret; @@ -34,7 +34,7 @@ Acked-by: Jeff Johnson mutex_lock(&ar->conf_mutex); -@@ -8241,21 +8240,6 @@ ath11k_mac_op_assign_vif_chanctx(struct +@@ -8239,21 +8238,6 @@ ath11k_mac_op_assign_vif_chanctx(struct goto out; } diff --git a/package/kernel/mac80211/patches/nss/ath11k/907-02-wifi-ath11k-rename-ath11k_start_vdev_delay.patch b/package/kernel/mac80211/patches/nss/ath11k/907-02-wifi-ath11k-rename-ath11k_start_vdev_delay.patch index 7d04e371ed..12744f51c6 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/907-02-wifi-ath11k-rename-ath11k_start_vdev_delay.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/907-02-wifi-ath11k-rename-ath11k_start_vdev_delay.patch @@ -39,7 +39,7 @@ Acked-by: Jeff Johnson if (ret) { ath11k_warn(ab, "failed to delay vdev start: %d\n", ret); goto free_tx_stats; -@@ -8161,8 +8161,8 @@ unlock: +@@ -8159,8 +8159,8 @@ unlock: mutex_unlock(&ar->conf_mutex); } diff --git a/package/kernel/mac80211/patches/nss/ath11k/907-03-wifi-ath11k-avoid-forward-declaration-of-ath11k_mac_start_vdev_delay.patch b/package/kernel/mac80211/patches/nss/ath11k/907-03-wifi-ath11k-avoid-forward-declaration-of-ath11k_mac_start_vdev_delay.patch index f928d851a6..710ad5aa5b 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/907-03-wifi-ath11k-avoid-forward-declaration-of-ath11k_mac_start_vdev_delay.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/907-03-wifi-ath11k-avoid-forward-declaration-of-ath11k_mac_start_vdev_delay.patch @@ -317,7 +317,7 @@ Acked-by: Jeff Johnson static int ath11k_mac_op_sta_set_txpwr(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta) -@@ -9738,6 +9460,281 @@ ath11k_mac_op_config_mesh_offload_path(s +@@ -9736,6 +9458,281 @@ ath11k_mac_op_config_mesh_offload_path(s } #endif diff --git a/package/kernel/mac80211/patches/nss/ath11k/907-04-wifi-ath11k-fix-connection-failure-due-to-unexpected-peer-delete.patch b/package/kernel/mac80211/patches/nss/ath11k/907-04-wifi-ath11k-fix-connection-failure-due-to-unexpected-peer-delete.patch index 010825fd16..462e8cad72 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/907-04-wifi-ath11k-fix-connection-failure-due-to-unexpected-peer-delete.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/907-04-wifi-ath11k-fix-connection-failure-due-to-unexpected-peer-delete.patch @@ -52,7 +52,7 @@ Acked-by: Jeff Johnson --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c -@@ -7930,6 +7930,30 @@ static int ath11k_mac_start_vdev_delay(s +@@ -7928,6 +7928,30 @@ static int ath11k_mac_start_vdev_delay(s return 0; } @@ -83,7 +83,7 @@ Acked-by: Jeff Johnson static int ath11k_mac_op_assign_vif_chanctx(struct ieee80211_hw *hw, struct ieee80211_vif *vif, -@@ -7974,15 +7998,17 @@ ath11k_mac_op_assign_vif_chanctx(struct +@@ -7972,15 +7996,17 @@ ath11k_mac_op_assign_vif_chanctx(struct goto out; } @@ -109,7 +109,7 @@ Acked-by: Jeff Johnson if (arvif->vdev_type != WMI_VDEV_TYPE_MONITOR && test_bit(ATH11K_FLAG_MONITOR_VDEV_CREATED, &ar->monitor_flags)) { -@@ -8022,8 +8048,6 @@ ath11k_mac_op_unassign_vif_chanctx(struc +@@ -8020,8 +8046,6 @@ ath11k_mac_op_unassign_vif_chanctx(struc "chanctx unassign ptr %p vdev_id %i\n", ctx, arvif->vdev_id); @@ -118,7 +118,7 @@ Acked-by: Jeff Johnson if (ab->hw_params.vdev_start_delay && arvif->vdev_type == WMI_VDEV_TYPE_MONITOR) { spin_lock_bh(&ab->base_lock); -@@ -8047,24 +8071,13 @@ ath11k_mac_op_unassign_vif_chanctx(struc +@@ -8045,24 +8069,13 @@ ath11k_mac_op_unassign_vif_chanctx(struc return; } @@ -149,7 +149,7 @@ Acked-by: Jeff Johnson } if (ab->hw_params.vdev_start_delay && -@@ -9554,6 +9567,46 @@ exit: +@@ -9552,6 +9565,46 @@ exit: return ret; } @@ -196,7 +196,7 @@ Acked-by: Jeff Johnson static int ath11k_mac_op_sta_state(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, -@@ -9589,31 +9642,15 @@ static int ath11k_mac_op_sta_state(struc +@@ -9587,31 +9640,15 @@ static int ath11k_mac_op_sta_state(struc sta->addr, arvif->vdev_id); } else if ((old_state == IEEE80211_STA_NONE && new_state == IEEE80211_STA_NOTEXIST)) { @@ -233,7 +233,7 @@ Acked-by: Jeff Johnson ath11k_warn(ar->ab, "Found peer entry %pM n vdev %i after it was supposedly removed\n", vif->addr, arvif->vdev_id); ath11k_peer_rhash_delete(ar->ab, peer); -@@ -9624,12 +9661,6 @@ static int ath11k_mac_op_sta_state(struc +@@ -9622,12 +9659,6 @@ static int ath11k_mac_op_sta_state(struc } spin_unlock_bh(&ar->ab->base_lock); mutex_unlock(&ar->ab->tbl_mtx_lock); @@ -246,7 +246,7 @@ Acked-by: Jeff Johnson } else if (old_state == IEEE80211_STA_AUTH && new_state == IEEE80211_STA_ASSOC && (vif->type == NL80211_IFTYPE_AP || -@@ -10202,6 +10233,8 @@ static int __ath11k_mac_register(struct +@@ -10200,6 +10231,8 @@ static int __ath11k_mac_register(struct wiphy_ext_feature_set(ar->hw->wiphy, NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT); diff --git a/package/kernel/mac80211/patches/nss/ath11k/908-ath11k-make-debugfs-sta-htt-stats-modular.patch b/package/kernel/mac80211/patches/nss/ath11k/908-ath11k-make-debugfs-sta-htt-stats-modular.patch index 4276e64cc3..829f59bfdc 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/908-ath11k-make-debugfs-sta-htt-stats-modular.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/908-ath11k-make-debugfs-sta-htt-stats-modular.patch @@ -176,7 +176,7 @@ spin_unlock_bh(&ab->base_lock); --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c -@@ -9811,7 +9811,7 @@ static const struct ieee80211_ops ath11k +@@ -9809,7 +9809,7 @@ static const struct ieee80211_ops ath11k .set_wakeup = ath11k_wow_op_set_wakeup, #endif diff --git a/package/kernel/mac80211/patches/nss/ath11k/999-233-ath11k-Disable-rx_header-tlv-for-2K-SKB.patch b/package/kernel/mac80211/patches/nss/ath11k/999-233-ath11k-Disable-rx_header-tlv-for-2K-SKB.patch index 322698f0ea..57a6b7fb4a 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/999-233-ath11k-Disable-rx_header-tlv-for-2K-SKB.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/999-233-ath11k-Disable-rx_header-tlv-for-2K-SKB.patch @@ -501,7 +501,7 @@ Signed-off-by: Ramya Gnanasekar --- a/drivers/net/wireless/ath/ath11k/dp_tx.c +++ b/drivers/net/wireless/ath/ath11k/dp_tx.c -@@ -1263,6 +1263,8 @@ int ath11k_dp_tx_htt_rx_filter_setup(str +@@ -1275,6 +1275,8 @@ int ath11k_dp_tx_htt_rx_filter_setup(str !!(params.flags & HAL_SRNG_FLAGS_MSI_SWAP)); cmd->info0 |= FIELD_PREP(HTT_RX_RING_SELECTION_CFG_CMD_INFO0_PS, !!(params.flags & HAL_SRNG_FLAGS_DATA_TLV_SWAP)); @@ -510,7 +510,7 @@ Signed-off-by: Ramya Gnanasekar cmd->info1 = FIELD_PREP(HTT_RX_RING_SELECTION_CFG_CMD_INFO1_BUF_SIZE, rx_buf_size); -@@ -1272,6 +1274,26 @@ int ath11k_dp_tx_htt_rx_filter_setup(str +@@ -1284,6 +1286,26 @@ int ath11k_dp_tx_htt_rx_filter_setup(str cmd->pkt_type_en_flags3 = tlv_filter->pkt_filter_flags3; cmd->rx_filter_tlv = tlv_filter->rx_filter; @@ -537,7 +537,7 @@ Signed-off-by: Ramya Gnanasekar ret = ath11k_htc_send(&ab->htc, ab->dp.eid, skb); if (ret) goto err_free; -@@ -1350,6 +1372,7 @@ int ath11k_dp_tx_htt_monitor_mode_ring_c +@@ -1362,6 +1384,7 @@ int ath11k_dp_tx_htt_monitor_mode_ring_c } ring_id = dp->rxdma_mon_buf_ring.refill_buf_ring.ring_id; @@ -933,7 +933,7 @@ Signed-off-by: Ramya Gnanasekar extern const struct ath11k_hw_ops ipq8074_ops; --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c -@@ -6450,6 +6450,7 @@ static int ath11k_mac_config_mon_status_ +@@ -6448,6 +6448,7 @@ static int ath11k_mac_config_mon_status_ tlv_filter.rx_filter = ath11k_debugfs_rx_filter(ar); } @@ -999,7 +999,7 @@ Signed-off-by: Ramya Gnanasekar #endif /* ATH11K_RX_DESC_H */ --- a/drivers/net/wireless/ath/ath11k/nss.c +++ b/drivers/net/wireless/ath/ath11k/nss.c -@@ -4360,7 +4360,7 @@ static int ath11k_nss_init(struct ath11k +@@ -4363,7 +4363,7 @@ static int ath11k_nss_init(struct ath11k /* fill rx parameters to initialize rx context */ wim->wrip.tlv_size = ab->hw_params.hal_desc_sz; diff --git a/package/kernel/mac80211/patches/nss/ath11k/999-311-ath11k-configure-nss-thread-priority-during-pdev_ini.patch b/package/kernel/mac80211/patches/nss/ath11k/999-311-ath11k-configure-nss-thread-priority-during-pdev_ini.patch index c95960f2de..7f92958691 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/999-311-ath11k-configure-nss-thread-priority-during-pdev_ini.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/999-311-ath11k-configure-nss-thread-priority-during-pdev_ini.patch @@ -22,7 +22,7 @@ Signed-off-by: Seevalamuthu Mariappan #include "debug.h" #include "mac.h" -@@ -4342,6 +4343,7 @@ static int ath11k_nss_init(struct ath11k +@@ -4345,6 +4346,7 @@ static int ath11k_nss_init(struct ath11k nss_tx_status_t status; struct ath11k_dp *dp; int i, ret; @@ -30,7 +30,7 @@ Signed-off-by: Seevalamuthu Mariappan dp = &ab->dp; -@@ -4361,6 +4363,8 @@ static int ath11k_nss_init(struct ath11k +@@ -4364,6 +4366,8 @@ static int ath11k_nss_init(struct ath11k /* fill rx parameters to initialize rx context */ wim->wrip.tlv_size = ab->hw_params.hal_desc_sz; wim->wrip.rx_buf_len = DP_RXDMA_NSS_REFILL_RING_SIZE; @@ -39,7 +39,7 @@ Signed-off-by: Seevalamuthu Mariappan /* fill hal srng message */ wim->hssm.dev_base_addr = (u32)ab->mem_pa; -@@ -4549,11 +4553,13 @@ int ath11k_nss_pdev_init(struct ath11k_b +@@ -4552,11 +4556,13 @@ int ath11k_nss_pdev_init(struct ath11k_b struct nss_wifili_msg *wlmsg = NULL; nss_wifili_msg_callback_t msg_cb; nss_tx_status_t status; @@ -54,7 +54,7 @@ Signed-off-by: Seevalamuthu Mariappan dyn_if_type = ath11k_nss_get_dynamic_interface_type(ab); -@@ -4582,6 +4588,15 @@ int ath11k_nss_pdev_init(struct ath11k_b +@@ -4585,6 +4591,15 @@ int ath11k_nss_pdev_init(struct ath11k_b ath11k_dbg(ab, ATH11K_DBG_NSS, "nss pdev init - id:%d init ctxt:%p ifnum:%d\n", ar->pdev->pdev_id, ar->nss.ctx, ar->nss.if_num); @@ -70,7 +70,7 @@ Signed-off-by: Seevalamuthu Mariappan wlmsg = kzalloc(sizeof(struct nss_wifili_msg), GFP_ATOMIC); if (!wlmsg) { ret = -ENOMEM; -@@ -4594,6 +4609,7 @@ int ath11k_nss_pdev_init(struct ath11k_b +@@ -4597,6 +4612,7 @@ int ath11k_nss_pdev_init(struct ath11k_b pdevmsg->lmac_id = ar->lmac_id; pdevmsg->target_pdev_id = ar->pdev->pdev_id; pdevmsg->num_rx_swdesc = WIFILI_RX_DESC_POOL_WEIGHT * DP_RXDMA_BUF_RING_SIZE; @@ -78,7 +78,7 @@ Signed-off-by: Seevalamuthu Mariappan /* Store rxdma ring info to the message */ refill_ring_id = ar->dp.rx_refill_buf_ring.refill_buf_ring.ring_id; -@@ -4887,6 +4903,9 @@ int ath11k_nss_pdev_deinit(struct ath11k +@@ -4890,6 +4906,9 @@ int ath11k_nss_pdev_deinit(struct ath11k /* pdev deinit msg success, dealloc, deregister and return */ ret = 0; diff --git a/package/kernel/mac80211/patches/nss/ath11k/999-336-0001-ath11k-idr-optimization.patch b/package/kernel/mac80211/patches/nss/ath11k/999-336-0001-ath11k-idr-optimization.patch index ef01c639a2..abcc7a197e 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/999-336-0001-ath11k-idr-optimization.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/999-336-0001-ath11k-idr-optimization.patch @@ -111,7 +111,7 @@ Signed-off-by: Tamizh Chelvam rxcb = ATH11K_SKB_RXCB(skb); dma_unmap_single(ab->dev, rxcb->paddr, -@@ -6429,16 +6420,14 @@ ath11k_dp_rx_full_mon_mpdu_pop(struct at +@@ -6423,16 +6414,14 @@ ath11k_dp_rx_full_mon_mpdu_pop(struct at msdu_list.sw_cookie[i]); spin_lock_bh(&rx_ring->idr_lock); diff --git a/package/kernel/mac80211/patches/nss/ath11k/999-336-0002-ath11k-Use-idr_replace.patch b/package/kernel/mac80211/patches/nss/ath11k/999-336-0002-ath11k-Use-idr_replace.patch index 974de14107..9a212c3944 100644 --- a/package/kernel/mac80211/patches/nss/ath11k/999-336-0002-ath11k-Use-idr_replace.patch +++ b/package/kernel/mac80211/patches/nss/ath11k/999-336-0002-ath11k-Use-idr_replace.patch @@ -233,7 +233,7 @@ Signed-off-by: Tamizh Chelvam return budget - quota; } -@@ -6182,12 +6225,12 @@ static void ath11k_dp_rx_mon_dest_proces +@@ -6176,12 +6219,12 @@ static void ath11k_dp_rx_mon_dest_proces ath11k_dp_rxbufs_replenish(ar->ab, dp->mac_id, &dp->rxdma_mon_buf_ring, rx_bufs_used, @@ -248,7 +248,7 @@ Signed-off-by: Tamizh Chelvam } } -@@ -6697,7 +6740,7 @@ next_entry: +@@ -6691,7 +6734,7 @@ next_entry: ath11k_dp_rxbufs_replenish(ar->ab, dp->mac_id, &dp->rxdma_mon_buf_ring, rx_bufs_used, diff --git a/package/kernel/mac80211/patches/nss/subsys/199-001-mac80211-add-nss-support.patch b/package/kernel/mac80211/patches/nss/subsys/199-001-mac80211-add-nss-support.patch index ecdf4d15c0..94560505fe 100644 --- a/package/kernel/mac80211/patches/nss/subsys/199-001-mac80211-add-nss-support.patch +++ b/package/kernel/mac80211/patches/nss/subsys/199-001-mac80211-add-nss-support.patch @@ -53,7 +53,7 @@ Signed-off-by: Sriram R }; /** -@@ -1410,7 +1426,7 @@ ieee80211_tx_info_clear_status(struct ie +@@ -1413,7 +1429,7 @@ ieee80211_tx_info_clear_status(struct ie * @RX_FLAG_AMPDU_EOF_BIT_KNOWN: The EOF value is known * @RX_FLAG_RADIOTAP_HE: HE radiotap data is present * (&struct ieee80211_radiotap_he, mac80211 will fill in @@ -62,7 +62,7 @@ Signed-off-by: Sriram R * - DATA3_DATA_MCS * - DATA3_DATA_DCM * - DATA3_CODING -@@ -1418,7 +1434,7 @@ ieee80211_tx_info_clear_status(struct ie +@@ -1421,7 +1437,7 @@ ieee80211_tx_info_clear_status(struct ie * - DATA5_DATA_BW_RU_ALLOC * - DATA6_NSTS * - DATA3_STBC @@ -71,7 +71,7 @@ Signed-off-by: Sriram R * from the RX info data, so leave those zeroed when building this data) * @RX_FLAG_RADIOTAP_HE_MU: HE MU radiotap data is present * (&struct ieee80211_radiotap_he_mu) -@@ -1991,6 +2007,16 @@ static inline bool lockdep_vif_mutex_hel +@@ -1996,6 +2012,16 @@ static inline bool lockdep_vif_mutex_hel lockdep_vif_mutex_held(vif)) /** @@ -88,7 +88,7 @@ Signed-off-by: Sriram R * enum ieee80211_key_flags - key flags * * These flags are used for communication about keys between the driver -@@ -2682,6 +2708,8 @@ struct ieee80211_txq { +@@ -2687,6 +2713,8 @@ struct ieee80211_txq { * @IEEE80211_HW_MLO_MCAST_MULTI_LINK_TX: Hardware/driver handles transmitting * multicast frames on all links, mac80211 should not do that. * @@ -97,7 +97,7 @@ Signed-off-by: Sriram R * @NUM_IEEE80211_HW_FLAGS: number of hardware flags, used for sizing arrays */ enum ieee80211_hw_flags { -@@ -2739,6 +2767,7 @@ enum ieee80211_hw_flags { +@@ -2744,6 +2772,7 @@ enum ieee80211_hw_flags { IEEE80211_HW_SUPPORTS_CONC_MON_RX_DECAP, IEEE80211_HW_DETECTS_COLOR_COLLISION, IEEE80211_HW_MLO_MCAST_MULTI_LINK_TX, @@ -105,7 +105,7 @@ Signed-off-by: Sriram R /* keep last, obviously */ NUM_IEEE80211_HW_FLAGS -@@ -3751,6 +3780,10 @@ struct ieee80211_prep_tx_info { +@@ -3756,6 +3785,10 @@ struct ieee80211_prep_tx_info { * non-MLO connections. * The callback can sleep. * @@ -116,7 +116,7 @@ Signed-off-by: Sriram R * @prepare_multicast: Prepare for multicast filter configuration. * This callback is optional, and its return value is passed * to configure_filter(). This callback must be atomic. -@@ -4302,7 +4335,9 @@ struct ieee80211_ops { +@@ -4307,7 +4340,9 @@ struct ieee80211_ops { struct ieee80211_vif *vif, struct ieee80211_bss_conf *info, u64 changed); @@ -127,7 +127,7 @@ Signed-off-by: Sriram R int (*start_ap)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_bss_conf *link_conf); void (*stop_ap)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, -@@ -4607,7 +4642,7 @@ struct ieee80211_ops { +@@ -4612,7 +4647,7 @@ struct ieee80211_ops { int (*reset_tid_config)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, u8 tids); @@ -361,7 +361,7 @@ Signed-off-by: Sriram R { --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h -@@ -1847,6 +1847,8 @@ void ieee80211_vif_cfg_change_notify(str +@@ -1844,6 +1844,8 @@ void ieee80211_vif_cfg_change_notify(str void ieee80211_link_info_change_notify(struct ieee80211_sub_if_data *sdata, struct ieee80211_link_data *link, u64 changed); diff --git a/package/kernel/mac80211/patches/nss/subsys/203-mac80211-ath11k-fw-dynamic-muedca.patch b/package/kernel/mac80211/patches/nss/subsys/203-mac80211-ath11k-fw-dynamic-muedca.patch index d4410bd712..2c4b6d1e2b 100644 --- a/package/kernel/mac80211/patches/nss/subsys/203-mac80211-ath11k-fw-dynamic-muedca.patch +++ b/package/kernel/mac80211/patches/nss/subsys/203-mac80211-ath11k-fw-dynamic-muedca.patch @@ -49,7 +49,7 @@ Signed-off-by: Muna Sinada #endif /* __NET_CFG80211_H */ --- a/include/net/mac80211.h +++ b/include/net/mac80211.h -@@ -7363,6 +7363,20 @@ u32 ieee80211_calc_rx_airtime(struct iee +@@ -7368,6 +7368,20 @@ u32 ieee80211_calc_rx_airtime(struct iee int len); /** diff --git a/package/kernel/mac80211/patches/nss/subsys/207-ath11k-Add-support-for-dynamic-vlan.patch b/package/kernel/mac80211/patches/nss/subsys/207-ath11k-Add-support-for-dynamic-vlan.patch index 5ae1ba64bb..f82584a9fd 100644 --- a/package/kernel/mac80211/patches/nss/subsys/207-ath11k-Add-support-for-dynamic-vlan.patch +++ b/package/kernel/mac80211/patches/nss/subsys/207-ath11k-Add-support-for-dynamic-vlan.patch @@ -42,18 +42,18 @@ Signed-off-by: Gautham Kumar Senthilkumaran if (IS_ERR(sta)) sta = NULL; -+ if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { -+ ap_sdata = container_of(sdata->bss, -+ struct ieee80211_sub_if_data, u.ap); -+ if (ap_sdata->vif.offload_flags & IEEE80211_OFFLOAD_ENCAP_ENABLED && -+ !is_multicast_ether_addr(skb->data)) { -+ if (sta) -+ key = rcu_dereference(sta->ptk[sta->ptk_idx]); -+ ieee80211_8023_xmit(sdata, dev, sta, key, skb); -+ rcu_read_unlock(); -+ return; -+ } -+ } ++ if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { ++ ap_sdata = container_of(sdata->bss, ++ struct ieee80211_sub_if_data, u.ap); ++ if (ap_sdata->vif.offload_flags & IEEE80211_OFFLOAD_ENCAP_ENABLED && ++ !is_multicast_ether_addr(skb->data)) { ++ if (sta) ++ key = rcu_dereference(sta->ptk[sta->ptk_idx]); ++ ieee80211_8023_xmit(sdata, dev, sta, key, skb); ++ rcu_read_unlock(); ++ return; ++ } ++ } + skb_set_queue_mapping(skb, ieee80211_select_queue(sdata, sta, skb)); ieee80211_aggr_check(sdata, sta, skb); diff --git a/package/kernel/mac80211/patches/nss/subsys/235-001-mac80211-add-AP_VLAN-iftype-support-on-NSS-offload-case.patch b/package/kernel/mac80211/patches/nss/subsys/235-001-mac80211-add-AP_VLAN-iftype-support-on-NSS-offload-case.patch index 3d543d7141..225cdc45da 100644 --- a/package/kernel/mac80211/patches/nss/subsys/235-001-mac80211-add-AP_VLAN-iftype-support-on-NSS-offload-case.patch +++ b/package/kernel/mac80211/patches/nss/subsys/235-001-mac80211-add-AP_VLAN-iftype-support-on-NSS-offload-case.patch @@ -21,7 +21,7 @@ Signed-off-by: Sathishkumar Muruganandam --- a/include/net/mac80211.h +++ b/include/net/mac80211.h -@@ -5100,6 +5100,17 @@ void ieee80211_sta_pspoll(struct ieee802 +@@ -5105,6 +5105,17 @@ void ieee80211_sta_pspoll(struct ieee802 */ void ieee80211_sta_uapsd_trigger(struct ieee80211_sta *sta, u8 tid); @@ -137,23 +137,21 @@ Signed-off-by: Sathishkumar Muruganandam { --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -4298,8 +4298,13 @@ void __ieee80211_subif_start_xmit(struct +@@ -4307,8 +4307,11 @@ void __ieee80211_subif_start_xmit(struct sta = NULL; - if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { -- ap_sdata = container_of(sdata->bss, -- struct ieee80211_sub_if_data, u.ap); -+ if (!ieee80211_hw_check(&local->hw, SUPPORTS_NSS_OFFLOAD)) -+ ap_sdata = container_of(sdata->bss, -+ struct ieee80211_sub_if_data, -+ u.ap); -+ else -+ ap_sdata = sdata; -+ - if (ap_sdata->vif.offload_flags & IEEE80211_OFFLOAD_ENCAP_ENABLED && - !is_multicast_ether_addr(skb->data)) { - if (sta) -@@ -4689,7 +4694,8 @@ static void ieee80211_8023_xmit(struct i + if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) { +- ap_sdata = container_of(sdata->bss, +- struct ieee80211_sub_if_data, u.ap); ++ if (!ieee80211_hw_check(&local->hw, SUPPORTS_NSS_OFFLOAD)) ++ ap_sdata = container_of( ++ sdata->bss, struct ieee80211_sub_if_data, u.ap); ++ else ++ ap_sdata = sdata; + if (ap_sdata->vif.offload_flags & IEEE80211_OFFLOAD_ENCAP_ENABLED && + !is_multicast_ether_addr(skb->data)) { + if (sta) +@@ -4698,7 +4701,8 @@ static void ieee80211_8023_xmit(struct i info->hw_queue = sdata->vif.hw_queue[queue]; diff --git a/package/kernel/mac80211/patches/nss/subsys/236-001-mac80211-add-dynamic-VLAN-support-on-NSS-offload.patch b/package/kernel/mac80211/patches/nss/subsys/236-001-mac80211-add-dynamic-VLAN-support-on-NSS-offload.patch index 542ab4e6a9..ca0efe70f4 100644 --- a/package/kernel/mac80211/patches/nss/subsys/236-001-mac80211-add-dynamic-VLAN-support-on-NSS-offload.patch +++ b/package/kernel/mac80211/patches/nss/subsys/236-001-mac80211-add-dynamic-VLAN-support-on-NSS-offload.patch @@ -24,7 +24,7 @@ Signed-off-by: Sathishkumar Muruganandam --- a/include/net/mac80211.h +++ b/include/net/mac80211.h -@@ -2088,6 +2088,8 @@ enum ieee80211_key_flags { +@@ -2093,6 +2093,8 @@ enum ieee80211_key_flags { * @tx_pn: PN used for TX keys, may be used by the driver as well if it * needs to do software PN assignment by itself (e.g. due to TSO) * @flags: key flags, see &enum ieee80211_key_flags. @@ -33,7 +33,7 @@ Signed-off-by: Sathishkumar Muruganandam * @keyidx: the key index (0-3) * @keylen: key material length * @key: key material. For ALG_TKIP the key is encoded as a 256-bit (32 byte) -@@ -2107,6 +2109,7 @@ struct ieee80211_key_conf { +@@ -2112,6 +2114,7 @@ struct ieee80211_key_conf { u8 hw_key_idx; s8 keyidx; u16 flags; @@ -102,7 +102,7 @@ Signed-off-by: Sathishkumar Muruganandam key->conf.cipher = cipher; --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -4650,16 +4650,25 @@ static void ieee80211_8023_xmit(struct i +@@ -4657,16 +4657,25 @@ static void ieee80211_8023_xmit(struct i struct ieee80211_key *key, struct sk_buff *skb) { struct ieee80211_tx_info *info; diff --git a/package/kernel/mac80211/patches/nss/subsys/245-compilation_fix.patch b/package/kernel/mac80211/patches/nss/subsys/245-compilation_fix.patch index 0e92c0f133..aac819d945 100644 --- a/package/kernel/mac80211/patches/nss/subsys/245-compilation_fix.patch +++ b/package/kernel/mac80211/patches/nss/subsys/245-compilation_fix.patch @@ -30,7 +30,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran struct ieee80211_local *local; --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -4679,19 +4679,21 @@ static void ieee80211_8023_xmit(struct i +@@ -4686,19 +4686,21 @@ static void ieee80211_8023_xmit(struct i ieee80211_aggr_check(sdata, sta, skb); @@ -64,7 +64,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran } skb = ieee80211_tx_skb_fixup(skb, ieee80211_sdata_netdev_features(sdata)); -@@ -4748,7 +4750,7 @@ netdev_tx_t ieee80211_subif_start_xmit_8 +@@ -4755,7 +4757,7 @@ netdev_tx_t ieee80211_subif_start_xmit_8 { struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev); struct ethhdr *ehdr = (struct ethhdr *)skb->data; @@ -73,7 +73,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran struct sta_info *sta; #ifdef CPTCFG_MAC80211_NSS_SUPPORT -@@ -4766,9 +4768,13 @@ netdev_tx_t ieee80211_subif_start_xmit_8 +@@ -4773,9 +4775,13 @@ netdev_tx_t ieee80211_subif_start_xmit_8 goto out; } @@ -90,7 +90,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran goto skip_offload; key = rcu_dereference(sta->ptk[sta->ptk_idx]); -@@ -4779,6 +4785,7 @@ netdev_tx_t ieee80211_subif_start_xmit_8 +@@ -4786,6 +4792,7 @@ netdev_tx_t ieee80211_subif_start_xmit_8 goto skip_offload; sk_pacing_shift_update(skb->sk, sdata->local->hw.tx_sk_pacing_shift); @@ -98,7 +98,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran ieee80211_8023_xmit(sdata, dev, sta, key, skb); goto out; -@@ -6285,13 +6292,7 @@ start_xmit: +@@ -6292,13 +6299,7 @@ start_xmit: mutex_lock(&local->mtx); local_bh_disable(); diff --git a/package/kernel/mac80211/patches/nss/subsys/300-ath11k-nss-mesh-offload-support.patch b/package/kernel/mac80211/patches/nss/subsys/300-ath11k-nss-mesh-offload-support.patch index e1b46836c6..b088fae534 100644 --- a/package/kernel/mac80211/patches/nss/subsys/300-ath11k-nss-mesh-offload-support.patch +++ b/package/kernel/mac80211/patches/nss/subsys/300-ath11k-nss-mesh-offload-support.patch @@ -96,7 +96,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran }; /** -@@ -1777,6 +1795,7 @@ struct ieee80211_channel_switch { +@@ -1782,6 +1800,7 @@ struct ieee80211_channel_switch { * this is not pure P2P vif. * @IEEE80211_VIF_DISABLE_SMPS_OVERRIDE: disable user configuration of * SMPS mode via debugfs. @@ -104,7 +104,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran */ enum ieee80211_vif_flags { IEEE80211_VIF_BEACON_FILTER = BIT(0), -@@ -1784,6 +1803,7 @@ enum ieee80211_vif_flags { +@@ -1789,6 +1808,7 @@ enum ieee80211_vif_flags { IEEE80211_VIF_SUPPORTS_UAPSD = BIT(2), IEEE80211_VIF_GET_NOA_UPDATE = BIT(3), IEEE80211_VIF_DISABLE_SMPS_OVERRIDE = BIT(4), @@ -112,7 +112,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran }; -@@ -2771,6 +2791,7 @@ enum ieee80211_hw_flags { +@@ -2776,6 +2796,7 @@ enum ieee80211_hw_flags { IEEE80211_HW_DETECTS_COLOR_COLLISION, IEEE80211_HW_MLO_MCAST_MULTI_LINK_TX, IEEE80211_HW_SUPPORTS_NSS_OFFLOAD, @@ -120,7 +120,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran /* keep last, obviously */ NUM_IEEE80211_HW_FLAGS -@@ -4271,6 +4292,8 @@ struct ieee80211_prep_tx_info { +@@ -4276,6 +4297,8 @@ struct ieee80211_prep_tx_info { * @set_sar_specs: Update the SAR (TX power) settings. * @sta_set_decap_offload: Called to notify the driver when a station is allowed * to use rx decapsulation offload @@ -129,7 +129,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran * @add_twt_setup: Update hw with TWT agreement parameters received from the peer. * This callback allows the hw to check if requested parameters * are supported and if there is enough room for a new agreement. -@@ -4654,6 +4677,12 @@ struct ieee80211_ops { +@@ -4659,6 +4682,12 @@ struct ieee80211_ops { void (*sta_set_decap_offload)(struct ieee80211_hw *hw, struct ieee80211_vif *vif, struct ieee80211_sta *sta, bool enabled); @@ -142,7 +142,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran void (*add_twt_setup)(struct ieee80211_hw *hw, struct ieee80211_sta *sta, struct ieee80211_twt_setup *twt); -@@ -7512,4 +7541,100 @@ int ieee80211_set_active_links(struct ie +@@ -7517,4 +7546,100 @@ int ieee80211_set_active_links(struct ie void ieee80211_set_active_links_async(struct ieee80211_vif *vif, u16 active_links); @@ -1173,7 +1173,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran void mesh_pathtbl_unregister(struct ieee80211_sub_if_data *sdata) --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -2610,7 +2610,7 @@ static struct sk_buff *ieee80211_build_h +@@ -2619,7 +2619,7 @@ static struct sk_buff *ieee80211_build_h bool multicast; u16 info_id = 0; struct ieee80211_chanctx_conf *chanctx_conf = NULL; @@ -1182,7 +1182,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran int ret; u8 link_id = u32_get_bits(ctrl_flags, IEEE80211_TX_CTRL_MLO_LINK); -@@ -2622,6 +2622,9 @@ static struct sk_buff *ieee80211_build_h +@@ -2631,6 +2631,9 @@ static struct sk_buff *ieee80211_build_h info_flags |= IEEE80211_TX_CTL_REQ_TX_STATUS; #endif @@ -1192,7 +1192,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran /* convert Ethernet header to proper 802.11 header (based on * operation mode) */ ethertype = (skb->data[12] << 8) | skb->data[13]; -@@ -2692,6 +2695,13 @@ static struct sk_buff *ieee80211_build_h +@@ -2701,6 +2704,13 @@ static struct sk_buff *ieee80211_build_h break; #ifdef CPTCFG_MAC80211_MESH case NL80211_IFTYPE_MESH_POINT: @@ -1206,7 +1206,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran if (!is_multicast_ether_addr(skb->data)) { struct sta_info *next_hop; bool mpp_lookup = true; -@@ -2955,10 +2965,10 @@ static struct sk_buff *ieee80211_build_h +@@ -2964,10 +2974,10 @@ static struct sk_buff *ieee80211_build_h skb_reset_mac_header(skb); @@ -1221,7 +1221,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran info->ack_frame_id = info_id; info->band = band; -@@ -4275,6 +4285,7 @@ void __ieee80211_subif_start_xmit(struct +@@ -4284,6 +4294,7 @@ void __ieee80211_subif_start_xmit(struct struct sk_buff *next; int len = skb->len; struct ieee80211_key *key = NULL; @@ -1229,7 +1229,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran struct ieee80211_sub_if_data *ap_sdata; if (unlikely(!ieee80211_sdata_running(sdata) || skb->len < ETH_HLEN)) { -@@ -4351,9 +4362,15 @@ void __ieee80211_subif_start_xmit(struct +@@ -4358,9 +4369,15 @@ void __ieee80211_subif_start_xmit(struct goto out; } diff --git a/package/kernel/mac80211/patches/nss/subsys/335-0003-ath11k-skip-HAL_TCL_DATA_CMD_INFO2_TID_OVERWRITE-con.patch b/package/kernel/mac80211/patches/nss/subsys/335-0003-ath11k-skip-HAL_TCL_DATA_CMD_INFO2_TID_OVERWRITE-con.patch index 0704e8fcf7..1dd927098b 100644 --- a/package/kernel/mac80211/patches/nss/subsys/335-0003-ath11k-skip-HAL_TCL_DATA_CMD_INFO2_TID_OVERWRITE-con.patch +++ b/package/kernel/mac80211/patches/nss/subsys/335-0003-ath11k-skip-HAL_TCL_DATA_CMD_INFO2_TID_OVERWRITE-con.patch @@ -16,7 +16,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran --- a/include/net/mac80211.h +++ b/include/net/mac80211.h -@@ -2733,6 +2733,8 @@ struct ieee80211_txq { +@@ -2738,6 +2738,8 @@ struct ieee80211_txq { * * @IEEE80211_HW_SUPPORTS_NSS_OFFLOAD: Hardware/driver supports NSS offload * @@ -25,7 +25,7 @@ Signed-off-by: Gautham Kumar Senthilkumaran * @NUM_IEEE80211_HW_FLAGS: number of hardware flags, used for sizing arrays */ enum ieee80211_hw_flags { -@@ -2792,6 +2794,7 @@ enum ieee80211_hw_flags { +@@ -2797,6 +2799,7 @@ enum ieee80211_hw_flags { IEEE80211_HW_MLO_MCAST_MULTI_LINK_TX, IEEE80211_HW_SUPPORTS_NSS_OFFLOAD, IEEE80211_HW_SUPPORTS_MESH_NSS_OFFLOAD, diff --git a/package/kernel/mac80211/patches/nss/subsys/335-0005-mac80211-simple-tx-for-AP-mode.patch b/package/kernel/mac80211/patches/nss/subsys/335-0005-mac80211-simple-tx-for-AP-mode.patch index 314bcbe549..56f964d040 100644 --- a/package/kernel/mac80211/patches/nss/subsys/335-0005-mac80211-simple-tx-for-AP-mode.patch +++ b/package/kernel/mac80211/patches/nss/subsys/335-0005-mac80211-simple-tx-for-AP-mode.patch @@ -14,7 +14,7 @@ Signed-off-by: Aloka Dixit --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -4762,6 +4762,67 @@ out_free: +@@ -4769,6 +4769,67 @@ out_free: kfree_skb(skb); } @@ -82,7 +82,7 @@ Signed-off-by: Aloka Dixit netdev_tx_t ieee80211_subif_start_xmit_8023(struct sk_buff *skb, struct net_device *dev) { -@@ -4801,6 +4862,11 @@ netdev_tx_t ieee80211_subif_start_xmit_8 +@@ -4808,6 +4869,11 @@ netdev_tx_t ieee80211_subif_start_xmit_8 if (key && (!(key->flags & KEY_FLAG_UPLOADED_TO_HARDWARE))) goto skip_offload; diff --git a/package/kernel/mac80211/patches/nss/subsys/336-mac80211-Mesh-Fast-rx-support.patch b/package/kernel/mac80211/patches/nss/subsys/336-mac80211-Mesh-Fast-rx-support.patch index 0b89a11957..abdf3c9bd2 100644 --- a/package/kernel/mac80211/patches/nss/subsys/336-mac80211-Mesh-Fast-rx-support.patch +++ b/package/kernel/mac80211/patches/nss/subsys/336-mac80211-Mesh-Fast-rx-support.patch @@ -94,7 +94,7 @@ Signed-off-by: Sriram R if (action) { --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c -@@ -4649,10 +4649,15 @@ void ieee80211_check_fast_rx(struct sta_ +@@ -4653,10 +4653,15 @@ void ieee80211_check_fast_rx(struct sta_ break; case NL80211_IFTYPE_MESH_POINT: @@ -112,7 +112,7 @@ Signed-off-by: Sriram R break; default: goto clear; -@@ -4693,7 +4698,7 @@ void ieee80211_check_fast_rx(struct sta_ +@@ -4697,7 +4702,7 @@ void ieee80211_check_fast_rx(struct sta_ __release(check_fast_rx); if (assign) @@ -121,7 +121,7 @@ Signed-off-by: Sriram R offload_flags = get_bss_sdata(sdata)->vif.offload_flags; offload = offload_flags & IEEE80211_OFFLOAD_DECAP_ENABLED; -@@ -4875,6 +4880,10 @@ static bool ieee80211_invoke_fast_rx(str +@@ -4879,6 +4884,10 @@ static bool ieee80211_invoke_fast_rx(str u8 sa[ETH_ALEN]; } addrs __aligned(2); struct ieee80211_sta_rx_stats *stats; @@ -132,7 +132,7 @@ Signed-off-by: Sriram R /* for parallel-rx, we need to have DUP_VALIDATED, otherwise we write * to a common data structure; drivers can implement that per queue -@@ -4924,6 +4933,37 @@ static bool ieee80211_invoke_fast_rx(str +@@ -4928,6 +4937,37 @@ static bool ieee80211_invoke_fast_rx(str snap_offs += IEEE80211_CCMP_HDR_LEN; } @@ -170,7 +170,7 @@ Signed-off-by: Sriram R if (!ieee80211_vif_is_mesh(&rx->sdata->vif) && !(status->rx_flags & IEEE80211_RX_AMSDU)) { if (!pskb_may_pull(skb, snap_offs + sizeof(*payload))) -@@ -4961,9 +5001,33 @@ static bool ieee80211_invoke_fast_rx(str +@@ -4965,9 +5005,33 @@ static bool ieee80211_invoke_fast_rx(str return true; } diff --git a/package/kernel/mac80211/patches/nss/subsys/342-mac80211-fix-unconditional-sta-usage.patch b/package/kernel/mac80211/patches/nss/subsys/342-mac80211-fix-unconditional-sta-usage.patch index c8d719006d..969aa5da5f 100644 --- a/package/kernel/mac80211/patches/nss/subsys/342-mac80211-fix-unconditional-sta-usage.patch +++ b/package/kernel/mac80211/patches/nss/subsys/342-mac80211-fix-unconditional-sta-usage.patch @@ -33,7 +33,7 @@ Signed-off-by: Tamizh Chelvam --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c -@@ -4696,7 +4696,7 @@ static void ieee80211_8023_xmit(struct i +@@ -4703,7 +4703,7 @@ static void ieee80211_8023_xmit(struct i ieee80211_aggr_check(sdata, sta, skb); @@ -42,7 +42,7 @@ Signed-off-by: Tamizh Chelvam tid = skb->priority & IEEE80211_QOS_CTL_TAG1D_MASK; tid_tx = rcu_dereference(sta->ampdu_mlme.tid_tx[tid]); if (tid_tx) { -@@ -4747,7 +4747,7 @@ static void ieee80211_8023_xmit(struct i +@@ -4754,7 +4754,7 @@ static void ieee80211_8023_xmit(struct i &info->flags, NULL); dev_sw_netstats_tx_add(dev, skbs, len); diff --git a/package/kernel/mac80211/patches/nss/subsys/640-006-01-mac80211-Remove-unused-RX_FLAGS-from-mac80211_rx_fla.patch b/package/kernel/mac80211/patches/nss/subsys/640-006-01-mac80211-Remove-unused-RX_FLAGS-from-mac80211_rx_fla.patch index 55380f59d3..5683bdec18 100644 --- a/package/kernel/mac80211/patches/nss/subsys/640-006-01-mac80211-Remove-unused-RX_FLAGS-from-mac80211_rx_fla.patch +++ b/package/kernel/mac80211/patches/nss/subsys/640-006-01-mac80211-Remove-unused-RX_FLAGS-from-mac80211_rx_fla.patch @@ -14,7 +14,7 @@ Signed-off-by: P Praneesh --- a/include/net/mac80211.h +++ b/include/net/mac80211.h -@@ -1407,8 +1407,6 @@ ieee80211_tx_info_clear_status(struct ie +@@ -1410,8 +1410,6 @@ ieee80211_tx_info_clear_status(struct ie * @RX_FLAG_AMPDU_IS_LAST: this subframe is the last subframe of the A-MPDU * @RX_FLAG_AMPDU_DELIM_CRC_ERROR: A delimiter CRC error has been detected * on this subframe @@ -23,13 +23,37 @@ Signed-off-by: P Praneesh * @RX_FLAG_MIC_STRIPPED: The mic was stripped of this packet. Decryption was * done by the hardware * @RX_FLAG_ONLY_MONITOR: Report frame only to monitor interfaces without -@@ -1480,22 +1478,21 @@ enum mac80211_rx_flags { - RX_FLAG_AMPDU_LAST_KNOWN = BIT(12), - RX_FLAG_AMPDU_IS_LAST = BIT(13), - RX_FLAG_AMPDU_DELIM_CRC_ERROR = BIT(14), +@@ -1468,39 +1466,38 @@ ieee80211_tx_info_clear_status(struct ie + * hardware or driver) + */ + enum mac80211_rx_flags { +- RX_FLAG_MMIC_ERROR = BIT(0), +- RX_FLAG_DECRYPTED = BIT(1), +- RX_FLAG_ONLY_MONITOR = BIT(2), +- RX_FLAG_MMIC_STRIPPED = BIT(3), +- RX_FLAG_IV_STRIPPED = BIT(4), +- RX_FLAG_FAILED_FCS_CRC = BIT(5), +- RX_FLAG_FAILED_PLCP_CRC = BIT(6), ++ RX_FLAG_MMIC_ERROR = BIT(0), ++ RX_FLAG_DECRYPTED = BIT(1), ++ RX_FLAG_ONLY_MONITOR = BIT(2), ++ RX_FLAG_MMIC_STRIPPED = BIT(3), ++ RX_FLAG_IV_STRIPPED = BIT(4), ++ RX_FLAG_FAILED_FCS_CRC = BIT(5), ++ RX_FLAG_FAILED_PLCP_CRC = BIT(6), + /* one free bit at 7 */ +- RX_FLAG_NO_SIGNAL_VAL = BIT(8), +- RX_FLAG_AMPDU_DETAILS = BIT(9), +- RX_FLAG_PN_VALIDATED = BIT(10), +- RX_FLAG_DUP_VALIDATED = BIT(11), +- RX_FLAG_AMPDU_LAST_KNOWN = BIT(12), +- RX_FLAG_AMPDU_IS_LAST = BIT(13), +- RX_FLAG_AMPDU_DELIM_CRC_ERROR = BIT(14), - RX_FLAG_AMPDU_DELIM_CRC_KNOWN = BIT(15), -- RX_FLAG_MACTIME_END = BIT(16), -- RX_FLAG_ONLY_MONITOR = BIT(17), +- RX_FLAG_MACTIME = BIT(16) | BIT(17), +- RX_FLAG_MACTIME_PLCP_START = 1 << 16, +- RX_FLAG_MACTIME_START = 2 << 16, +- RX_FLAG_MACTIME_END = 3 << 16, - RX_FLAG_SKIP_MONITOR = BIT(18), - RX_FLAG_AMSDU_MORE = BIT(19), - RX_FLAG_RADIOTAP_TLV_AT_END = BIT(20), @@ -43,8 +67,17 @@ Signed-off-by: P Praneesh - RX_FLAG_RADIOTAP_LSIG = BIT(28), - RX_FLAG_NO_PSDU = BIT(29), - RX_FLAG_8023 = BIT(30), -+ RX_FLAG_MACTIME_END = BIT(15), -+ RX_FLAG_ONLY_MONITOR = BIT(16), ++ RX_FLAG_NO_SIGNAL_VAL = BIT(8), ++ RX_FLAG_AMPDU_DETAILS = BIT(9), ++ RX_FLAG_PN_VALIDATED = BIT(10), ++ RX_FLAG_DUP_VALIDATED = BIT(11), ++ RX_FLAG_AMPDU_LAST_KNOWN = BIT(12), ++ RX_FLAG_AMPDU_IS_LAST = BIT(13), ++ RX_FLAG_AMPDU_DELIM_CRC_ERROR = BIT(14), ++ RX_FLAG_MACTIME = BIT(15) | BIT(16), ++ RX_FLAG_MACTIME_PLCP_START = 1 << 15, ++ RX_FLAG_MACTIME_START = 2 << 15, ++ RX_FLAG_MACTIME_END = 3 << 15, + RX_FLAG_SKIP_MONITOR = BIT(17), + RX_FLAG_AMSDU_MORE = BIT(18), + RX_FLAG_RADIOTAP_TLV_AT_END = BIT(19), diff --git a/package/kernel/mac80211/patches/nss/subsys/657-mac80211-Avoid-encapsulation-of-EAPOL-frames-if-OFFL.patch b/package/kernel/mac80211/patches/nss/subsys/657-mac80211-Avoid-encapsulation-of-EAPOL-frames-if-OFFL.patch index 13977ab665..bdbe79a6be 100644 --- a/package/kernel/mac80211/patches/nss/subsys/657-mac80211-Avoid-encapsulation-of-EAPOL-frames-if-OFFL.patch +++ b/package/kernel/mac80211/patches/nss/subsys/657-mac80211-Avoid-encapsulation-of-EAPOL-frames-if-OFFL.patch @@ -20,7 +20,7 @@ Signed-off-by: Aaradhana Sahu --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h -@@ -2063,6 +2063,11 @@ netdev_tx_t ieee80211_subif_start_xmit(s +@@ -2060,6 +2060,11 @@ netdev_tx_t ieee80211_subif_start_xmit(s struct net_device *dev); netdev_tx_t ieee80211_subif_start_xmit_8023(struct sk_buff *skb, struct net_device *dev); @@ -44,16 +44,16 @@ Signed-off-by: Aaradhana Sahu /* misc utils */ static __le16 ieee80211_duration(struct ieee80211_tx_data *tx, -@@ -4320,7 +4321,7 @@ void __ieee80211_subif_start_xmit(struct - !is_multicast_ether_addr(skb->data)) { - if (sta) - key = rcu_dereference(sta->ptk[sta->ptk_idx]); -- ieee80211_8023_xmit(sdata, dev, sta, key, skb); -+ ieee80211_8023_xmit(sdata, dev, sta, key, skb, info_flags, ctrl_flags, cookie); - rcu_read_unlock(); - return; - } -@@ -4366,7 +4367,7 @@ void __ieee80211_subif_start_xmit(struct +@@ -4327,7 +4328,7 @@ void __ieee80211_subif_start_xmit(struct + !is_multicast_ether_addr(skb->data)) { + if (sta) + key = rcu_dereference(sta->ptk[sta->ptk_idx]); +- ieee80211_8023_xmit(sdata, dev, sta, key, skb); ++ ieee80211_8023_xmit(sdata, dev, sta, key, skb, info_flags, ctrl_flags, cookie); + rcu_read_unlock(); + return; + } +@@ -4373,7 +4374,7 @@ void __ieee80211_subif_start_xmit(struct if (info->flags & IEEE80211_TX_CTL_HW_80211_ENCAP) { if (sta) key = rcu_dereference(sta->ptk[sta->ptk_idx]); @@ -62,7 +62,7 @@ Signed-off-by: Aaradhana Sahu } else { dev_sw_netstats_tx_add(dev, 1, skb->len); ieee80211_xmit(sdata, sta, skb); -@@ -4664,7 +4665,8 @@ static bool ieee80211_tx_8023(struct iee +@@ -4671,7 +4672,8 @@ static bool ieee80211_tx_8023(struct iee static void ieee80211_8023_xmit(struct ieee80211_sub_if_data *sdata, struct net_device *dev, struct sta_info *sta, @@ -72,7 +72,7 @@ Signed-off-by: Aaradhana Sahu { struct ieee80211_tx_info *info; struct ethhdr *ehdr = (struct ethhdr *)skb->data; -@@ -4720,6 +4722,7 @@ static void ieee80211_8023_xmit(struct i +@@ -4727,6 +4729,7 @@ static void ieee80211_8023_xmit(struct i info = IEEE80211_SKB_CB(skb); memset(info, 0, sizeof(*info)); @@ -80,7 +80,7 @@ Signed-off-by: Aaradhana Sahu info->hw_queue = sdata->vif.hw_queue[queue]; if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN && -@@ -4740,11 +4743,12 @@ static void ieee80211_8023_xmit(struct i +@@ -4747,11 +4750,12 @@ static void ieee80211_8023_xmit(struct i memcpy(IEEE80211_SKB_CB(seg), info, sizeof(*info)); } @@ -96,7 +96,7 @@ Signed-off-by: Aaradhana Sahu dev_sw_netstats_tx_add(dev, skbs, len); if (!ieee80211_hw_check(&local->hw, SUPPORTS_NSS_OFFLOAD) && sta) { -@@ -4764,7 +4768,8 @@ out_free: +@@ -4771,7 +4775,8 @@ out_free: void ieee80211_8023_xmit_ap(struct ieee80211_sub_if_data *sdata, struct net_device *dev, struct sta_info *sta, @@ -106,7 +106,7 @@ Signed-off-by: Aaradhana Sahu { struct ieee80211_tx_info *info; struct ieee80211_local *local = sdata->local; -@@ -4773,6 +4778,9 @@ void ieee80211_8023_xmit_ap(struct ieee8 +@@ -4780,6 +4785,9 @@ void ieee80211_8023_xmit_ap(struct ieee8 unsigned long flags; int q; u16 q_map; @@ -116,7 +116,7 @@ Signed-off-by: Aaradhana Sahu /* * If the skb is shared we need to obtain our own copy. -@@ -4784,11 +4792,13 @@ void ieee80211_8023_xmit_ap(struct ieee8 +@@ -4791,11 +4799,13 @@ void ieee80211_8023_xmit_ap(struct ieee8 info = IEEE80211_SKB_CB(skb); memset(info, 0, sizeof(*info)); @@ -133,7 +133,7 @@ Signed-off-by: Aaradhana Sahu info->flags |= IEEE80211_TX_CTL_HW_80211_ENCAP; info->control.vif = &sdata->vif; -@@ -4822,14 +4832,23 @@ void ieee80211_8023_xmit_ap(struct ieee8 +@@ -4829,14 +4839,23 @@ void ieee80211_8023_xmit_ap(struct ieee8 drv_tx(local, &control, skb); } @@ -158,7 +158,7 @@ Signed-off-by: Aaradhana Sahu #ifdef CPTCFG_MAC80211_NSS_SUPPORT ieee80211_xmit_nss_fixup(skb, dev); -@@ -4845,14 +4864,15 @@ netdev_tx_t ieee80211_subif_start_xmit_8 +@@ -4852,14 +4871,15 @@ netdev_tx_t ieee80211_subif_start_xmit_8 kfree_skb(skb); goto out; } @@ -176,7 +176,7 @@ Signed-off-by: Aaradhana Sahu goto skip_offload; key = rcu_dereference(sta->ptk[sta->ptk_idx]); -@@ -4863,13 +4883,13 @@ netdev_tx_t ieee80211_subif_start_xmit_8 +@@ -4870,13 +4890,13 @@ netdev_tx_t ieee80211_subif_start_xmit_8 goto skip_offload; if (sdata->vif.type == NL80211_IFTYPE_AP) { @@ -192,7 +192,7 @@ Signed-off-by: Aaradhana Sahu goto out; skip_offload: -@@ -6375,7 +6395,10 @@ start_xmit: +@@ -6382,7 +6402,10 @@ start_xmit: mutex_lock(&local->mtx); local_bh_disable(); diff --git a/package/kernel/mac80211/patches/nss/subsys/780-mac80211-Advertise-HW-checksum-offload-only-for-ethm.patch b/package/kernel/mac80211/patches/nss/subsys/780-mac80211-Advertise-HW-checksum-offload-only-for-ethm.patch index 6be28b6ac5..5b5b45695e 100644 --- a/package/kernel/mac80211/patches/nss/subsys/780-mac80211-Advertise-HW-checksum-offload-only-for-ethm.patch +++ b/package/kernel/mac80211/patches/nss/subsys/780-mac80211-Advertise-HW-checksum-offload-only-for-ethm.patch @@ -31,7 +31,7 @@ Signed-off-by: Tamizh Chelvam Raja static void ieee80211_8023_xmit(struct ieee80211_sub_if_data *sdata, struct net_device *dev, struct sta_info *sta, struct ieee80211_key *key, struct sk_buff *skb, -@@ -3632,7 +3634,7 @@ ieee80211_sdata_netdev_features(struct i +@@ -3641,7 +3643,7 @@ ieee80211_sdata_netdev_features(struct i } static struct sk_buff * @@ -40,7 +40,7 @@ Signed-off-by: Tamizh Chelvam Raja { if (skb_is_gso(skb)) { struct sk_buff *segs; -@@ -3650,7 +3652,7 @@ ieee80211_tx_skb_fixup(struct sk_buff *s +@@ -3659,7 +3661,7 @@ ieee80211_tx_skb_fixup(struct sk_buff *s if (skb_needs_linearize(skb, features) && __skb_linearize(skb)) goto free; @@ -49,7 +49,7 @@ Signed-off-by: Tamizh Chelvam Raja int ofs = skb_checksum_start_offset(skb); if (skb->encapsulation) -@@ -3796,7 +3798,7 @@ static bool ieee80211_xmit_fast(struct i +@@ -3805,7 +3807,7 @@ static bool ieee80211_xmit_fast(struct i memcpy(ð, skb->data, ETH_HLEN - 2); /* after this point (skb is modified) we cannot return false */ @@ -58,7 +58,7 @@ Signed-off-by: Tamizh Chelvam Raja if (!skb) return true; -@@ -4344,7 +4346,7 @@ void __ieee80211_subif_start_xmit(struct +@@ -4351,7 +4353,7 @@ void __ieee80211_subif_start_xmit(struct * things so we cannot really handle checksum or GSO offload. * fix it up in software before we handle anything else. */ @@ -67,7 +67,7 @@ Signed-off-by: Tamizh Chelvam Raja if (!skb) { len = 0; goto out; -@@ -4715,7 +4717,7 @@ static void ieee80211_8023_xmit(struct i +@@ -4722,7 +4724,7 @@ static void ieee80211_8023_xmit(struct i } } diff --git a/package/kernel/mac80211/patches/nss/subsys/785-wifi-mac80211-Add-mac-hw-flag-to-avoid-queue-skb.patch b/package/kernel/mac80211/patches/nss/subsys/785-wifi-mac80211-Add-mac-hw-flag-to-avoid-queue-skb.patch index c2846abf7e..6867ee57c3 100644 --- a/package/kernel/mac80211/patches/nss/subsys/785-wifi-mac80211-Add-mac-hw-flag-to-avoid-queue-skb.patch +++ b/package/kernel/mac80211/patches/nss/subsys/785-wifi-mac80211-Add-mac-hw-flag-to-avoid-queue-skb.patch @@ -23,7 +23,7 @@ Signed-off-by: Yuvasree Sivasankaran --- a/include/net/mac80211.h +++ b/include/net/mac80211.h -@@ -2732,6 +2732,9 @@ struct ieee80211_txq { +@@ -2737,6 +2737,9 @@ struct ieee80211_txq { * * @IEEE80211_HW_SUPPORTS_TID_CLASS_OFFLOAD: Hardware suports tid calssification offload. * @@ -33,7 +33,7 @@ Signed-off-by: Yuvasree Sivasankaran * @NUM_IEEE80211_HW_FLAGS: number of hardware flags, used for sizing arrays */ enum ieee80211_hw_flags { -@@ -2792,6 +2795,7 @@ enum ieee80211_hw_flags { +@@ -2797,6 +2800,7 @@ enum ieee80211_hw_flags { IEEE80211_HW_SUPPORTS_NSS_OFFLOAD, IEEE80211_HW_SUPPORTS_MESH_NSS_OFFLOAD, IEEE80211_HW_SUPPORTS_TID_CLASS_OFFLOAD, @@ -83,9 +83,9 @@ Signed-off-by: Yuvasree Sivasankaran return false; if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) -@@ -4329,7 +4336,8 @@ void __ieee80211_subif_start_xmit(struct - } - } +@@ -4336,7 +4343,8 @@ void __ieee80211_subif_start_xmit(struct + } + } - skb_set_queue_mapping(skb, ieee80211_select_queue(sdata, sta, skb)); + if (unlikely(!ieee80211_hw_check(&local->hw, HAS_TX_QUEUE))) @@ -93,7 +93,7 @@ Signed-off-by: Yuvasree Sivasankaran ieee80211_aggr_check(sdata, sta, skb); if (sta) { -@@ -4681,8 +4689,10 @@ static void ieee80211_8023_xmit(struct i +@@ -4688,8 +4696,10 @@ static void ieee80211_8023_xmit(struct i bool multicast; u8 tid; @@ -106,7 +106,7 @@ Signed-off-by: Yuvasree Sivasankaran multicast = is_multicast_ether_addr(ra); -@@ -6379,9 +6389,12 @@ int ieee80211_tx_control_port(struct wip +@@ -6386,9 +6396,12 @@ int ieee80211_tx_control_port(struct wip } if (!IS_ERR(sta)) { diff --git a/package/kernel/mac80211/patches/nss/subsys/829-mac80211-fix-mesh-ping-issue.patch b/package/kernel/mac80211/patches/nss/subsys/829-mac80211-fix-mesh-ping-issue.patch index 642901bed1..7532ef1e71 100644 --- a/package/kernel/mac80211/patches/nss/subsys/829-mac80211-fix-mesh-ping-issue.patch +++ b/package/kernel/mac80211/patches/nss/subsys/829-mac80211-fix-mesh-ping-issue.patch @@ -10,7 +10,7 @@ Signed-off-by: Aaradhana Sahu --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c -@@ -4647,16 +4647,14 @@ void ieee80211_check_fast_rx(struct sta_ +@@ -4651,16 +4651,14 @@ void ieee80211_check_fast_rx(struct sta_ break; case NL80211_IFTYPE_MESH_POINT: @@ -23,15 +23,14 @@ Signed-off-by: Aaradhana Sahu IEEE80211_FCTL_TODS); - - fastrx.internal_forward = 0; -- break; + fastrx.da_offs = offsetof(struct ieee80211_hdr, addr3); + fastrx.sa_offs = offsetof(struct ieee80211_hdr, addr4); -+ break; -+ + break; ++ default: goto clear; } -@@ -4878,10 +4876,7 @@ static bool ieee80211_invoke_fast_rx(str +@@ -4882,10 +4880,7 @@ static bool ieee80211_invoke_fast_rx(str u8 sa[ETH_ALEN]; } addrs __aligned(2); struct ieee80211_sta_rx_stats *stats; @@ -42,7 +41,7 @@ Signed-off-by: Aaradhana Sahu /* for parallel-rx, we need to have DUP_VALIDATED, otherwise we write * to a common data structure; drivers can implement that per queue -@@ -4931,37 +4926,6 @@ static bool ieee80211_invoke_fast_rx(str +@@ -4935,37 +4930,6 @@ static bool ieee80211_invoke_fast_rx(str snap_offs += IEEE80211_CCMP_HDR_LEN; } @@ -80,7 +79,7 @@ Signed-off-by: Aaradhana Sahu if (!ieee80211_vif_is_mesh(&rx->sdata->vif) && !(status->rx_flags & IEEE80211_RX_AMSDU)) { if (!pskb_may_pull(skb, snap_offs + sizeof(*payload))) -@@ -4999,30 +4963,6 @@ static bool ieee80211_invoke_fast_rx(str +@@ -5003,30 +4967,6 @@ static bool ieee80211_invoke_fast_rx(str return true; } diff --git a/package/kernel/mac80211/patches/nss/subsys/971-mac80211-fix-field-span-warning.patch b/package/kernel/mac80211/patches/nss/subsys/971-mac80211-fix-field-span-warning.patch deleted file mode 100644 index 7d7ff4025b..0000000000 --- a/package/kernel/mac80211/patches/nss/subsys/971-mac80211-fix-field-span-warning.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/include/linux/ieee80211.h -+++ b/include/linux/ieee80211.h -@@ -961,7 +961,7 @@ struct ieee80211_tim_ie { - u8 dtim_period; - u8 bitmap_ctrl; - /* variable size: 1 - 251 bytes */ -- u8 virtual_map[1]; -+ u8 virtual_map[]; - } __packed; - - /** diff --git a/target/linux/qualcommax/patches-6.6/0102-arm64-dts-ipq8074-add-reserved-memory-nodes.patch b/target/linux/qualcommax/patches-6.6/0102-arm64-dts-ipq8074-add-reserved-memory-nodes.patch index 64f8da87aa..7f95b0110c 100644 --- a/target/linux/qualcommax/patches-6.6/0102-arm64-dts-ipq8074-add-reserved-memory-nodes.patch +++ b/target/linux/qualcommax/patches-6.6/0102-arm64-dts-ipq8074-add-reserved-memory-nodes.patch @@ -22,7 +22,7 @@ Signed-off-by: Robert Marko @@ -86,6 +86,16 @@ #size-cells = <2>; ranges; - + + nss_region: nss@40000000 { + no-map; + reg = <0x0 0x40000000 0x0 0x01000000>; @@ -56,5 +56,5 @@ Signed-off-by: Robert Marko + reg = <0x0 0x51000000 0x0 0x100000>; + }; }; - + firmware { diff --git a/target/linux/qualcommax/patches-6.6/0170-clk-qcom-ipq8074-Support-added-for-necessary-clocks-and-reset.patch b/target/linux/qualcommax/patches-6.6/0170-clk-qcom-ipq8074-Support-added-for-necessary-clocks-and-reset.patch index 76cc8caac9..056fba00aa 100644 --- a/target/linux/qualcommax/patches-6.6/0170-clk-qcom-ipq8074-Support-added-for-necessary-clocks-and-reset.patch +++ b/target/linux/qualcommax/patches-6.6/0170-clk-qcom-ipq8074-Support-added-for-necessary-clocks-and-reset.patch @@ -50,7 +50,7 @@ Signed-off-by: Rajkumar Ayyasamy static struct clk_rcg2 pcie0_axi_clk_src = { .cmd_rcgr = 0x75054, .freq_tbl = ftbl_pcie_axi_clk_src, -@@ -2029,6 +2051,78 @@ static struct clk_rcg2 gp3_clk_src = { +@@ -2031,6 +2053,78 @@ static struct clk_rcg2 gp3_clk_src = { }, }; @@ -129,7 +129,7 @@ Signed-off-by: Rajkumar Ayyasamy static struct clk_branch gcc_blsp1_ahb_clk = { .halt_reg = 0x01008, .clkr = { -@@ -4224,13 +4318,7 @@ static struct clk_branch gcc_gp3_clk = { +@@ -4226,13 +4320,7 @@ static struct clk_branch gcc_gp3_clk = { }, }; @@ -144,7 +144,7 @@ Signed-off-by: Rajkumar Ayyasamy .cmd_rcgr = 0x75070, .freq_tbl = ftbl_pcie_rchng_clk_src, .hid_width = 5, -@@ -4322,6 +4410,114 @@ static const struct alpha_pll_config nss +@@ -4324,6 +4412,114 @@ static const struct alpha_pll_config nss .alpha_en_mask = BIT(24), }; @@ -259,7 +259,7 @@ Signed-off-by: Rajkumar Ayyasamy static struct clk_hw *gcc_ipq8074_hws[] = { &gpll0_out_main_div2.hw, &gpll6_out_main_div2.hw, -@@ -4330,6 +4526,7 @@ static struct clk_hw *gcc_ipq8074_hws[] +@@ -4332,6 +4528,7 @@ static struct clk_hw *gcc_ipq8074_hws[] &gcc_xo_div4_clk_src.hw, &nss_noc_clk_src.hw, &nss_ppe_cdiv_clk_src.hw, @@ -267,7 +267,7 @@ Signed-off-by: Rajkumar Ayyasamy }; static struct clk_regmap *gcc_ipq8074_clks[] = { -@@ -4561,6 +4758,15 @@ static struct clk_regmap *gcc_ipq8074_cl +@@ -4563,6 +4760,15 @@ static struct clk_regmap *gcc_ipq8074_cl [GCC_PCIE0_RCHNG_CLK] = &gcc_pcie0_rchng_clk.clkr, [GCC_PCIE0_AXI_S_BRIDGE_CLK] = &gcc_pcie0_axi_s_bridge_clk.clkr, [GCC_CRYPTO_PPE_CLK] = &gcc_crypto_ppe_clk.clkr, diff --git a/target/linux/qualcommax/patches-6.6/0171-1-clk-qcom-ipq8074-Fix-gcc_snoc_bus_timeout_ahb_clk-offset.patch b/target/linux/qualcommax/patches-6.6/0171-1-clk-qcom-ipq8074-Fix-gcc_snoc_bus_timeout_ahb_clk-offset.patch index b1393fc9ad..96577d0eda 100644 --- a/target/linux/qualcommax/patches-6.6/0171-1-clk-qcom-ipq8074-Fix-gcc_snoc_bus_timeout_ahb_clk-offset.patch +++ b/target/linux/qualcommax/patches-6.6/0171-1-clk-qcom-ipq8074-Fix-gcc_snoc_bus_timeout_ahb_clk-offset.patch @@ -16,7 +16,7 @@ Signed-off-by: Selvam Sathappan Periakaruppan --- a/drivers/clk/qcom/gcc-ipq8074.c +++ b/drivers/clk/qcom/gcc-ipq8074.c -@@ -4411,10 +4411,10 @@ static const struct alpha_pll_config nss +@@ -4413,10 +4413,10 @@ static const struct alpha_pll_config nss }; static struct clk_branch gcc_snoc_bus_timeout2_ahb_clk = { @@ -29,7 +29,7 @@ Signed-off-by: Selvam Sathappan Periakaruppan .enable_mask = BIT(0), .hw.init = &(struct clk_init_data){ .name = "gcc_snoc_bus_timeout2_ahb_clk", -@@ -4429,10 +4429,10 @@ static struct clk_branch gcc_snoc_bus_ti +@@ -4431,10 +4431,10 @@ static struct clk_branch gcc_snoc_bus_ti }; static struct clk_branch gcc_snoc_bus_timeout3_ahb_clk = { diff --git a/target/linux/qualcommax/patches-6.6/0171-2-clk-qcom-ipq8074-Fix-gcc_blsp1_ahb_clk-properties.patch b/target/linux/qualcommax/patches-6.6/0171-2-clk-qcom-ipq8074-Fix-gcc_blsp1_ahb_clk-properties.patch index a7abddd5fd..6e4adf685b 100644 --- a/target/linux/qualcommax/patches-6.6/0171-2-clk-qcom-ipq8074-Fix-gcc_blsp1_ahb_clk-properties.patch +++ b/target/linux/qualcommax/patches-6.6/0171-2-clk-qcom-ipq8074-Fix-gcc_blsp1_ahb_clk-properties.patch @@ -26,7 +26,7 @@ Change-Id: I505cb560b31ad27a02c165fbe13bb33a2fc7d230 --- a/drivers/clk/qcom/gcc-ipq8074.c +++ b/drivers/clk/qcom/gcc-ipq8074.c -@@ -2125,9 +2125,10 @@ struct clk_rcg2 adss_pwm_clk_src = { +@@ -2127,9 +2127,10 @@ struct clk_rcg2 adss_pwm_clk_src = { static struct clk_branch gcc_blsp1_ahb_clk = { .halt_reg = 0x01008, diff --git a/target/linux/qualcommax/patches-6.6/0600-1-qca-nss-ecm-support-CORE.patch b/target/linux/qualcommax/patches-6.6/0600-1-qca-nss-ecm-support-CORE.patch index c49b956404..218e156137 100644 --- a/target/linux/qualcommax/patches-6.6/0600-1-qca-nss-ecm-support-CORE.patch +++ b/target/linux/qualcommax/patches-6.6/0600-1-qca-nss-ecm-support-CORE.patch @@ -81,7 +81,7 @@ __be16 vlan_proto, u16 vlan_id) --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -2936,6 +2936,10 @@ enum netdev_cmd { +@@ -2933,6 +2933,10 @@ enum netdev_cmd { NETDEV_OFFLOAD_XSTATS_REPORT_USED, NETDEV_OFFLOAD_XSTATS_REPORT_DELTA, NETDEV_XDP_FEAT_CHANGE, @@ -156,7 +156,7 @@ void fib_del_ifaddr(struct in_ifaddr *, struct in_ifaddr *); --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h -@@ -2266,4 +2266,6 @@ void br_do_suppress_nd(struct sk_buff *s +@@ -2267,4 +2267,6 @@ void br_do_suppress_nd(struct sk_buff *s u16 vid, struct net_bridge_port *p, struct nd_msg *msg); struct nd_msg *br_is_nd_neigh_msg(struct sk_buff *skb, struct nd_msg *m); bool br_is_neigh_suppress_enabled(const struct net_bridge_port *p, u16 vid); @@ -653,7 +653,7 @@ const struct in6_addr *daddr) --- a/net/ipv6/route.c +++ b/net/ipv6/route.c -@@ -197,6 +197,9 @@ static void rt6_uncached_list_flush_dev( +@@ -198,6 +198,9 @@ static void rt6_uncached_list_flush_dev( } } @@ -663,7 +663,7 @@ static inline const void *choose_neigh_daddr(const struct in6_addr *p, struct sk_buff *skb, const void *daddr) -@@ -3864,6 +3867,10 @@ int ip6_route_add(struct fib6_config *cf +@@ -3866,6 +3869,10 @@ int ip6_route_add(struct fib6_config *cf return PTR_ERR(rt); err = __ip6_ins_rt(rt, &cfg->fc_nlinfo, extack); @@ -674,7 +674,7 @@ fib6_info_release(rt); return err; -@@ -3885,6 +3892,9 @@ static int __ip6_del_rt(struct fib6_info +@@ -3887,6 +3894,9 @@ static int __ip6_del_rt(struct fib6_info err = fib6_del(rt, info); spin_unlock_bh(&table->tb6_lock); @@ -684,7 +684,7 @@ out: fib6_info_release(rt); return err; -@@ -6329,6 +6339,20 @@ static int ip6_route_dev_notify(struct n +@@ -6334,6 +6344,20 @@ static int ip6_route_dev_notify(struct n return NOTIFY_OK; } @@ -707,7 +707,7 @@ */ --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -1673,6 +1673,7 @@ const char *netdev_cmd_to_name(enum netd +@@ -1699,6 +1699,7 @@ const char *netdev_cmd_to_name(enum netd N(PRE_CHANGEADDR) N(OFFLOAD_XSTATS_ENABLE) N(OFFLOAD_XSTATS_DISABLE) N(OFFLOAD_XSTATS_REPORT_USED) N(OFFLOAD_XSTATS_REPORT_DELTA) N(XDP_FEAT_CHANGE) diff --git a/target/linux/qualcommax/patches-6.6/0600-2-qca-nss-ecm-support-PPPOE-offload.patch b/target/linux/qualcommax/patches-6.6/0600-2-qca-nss-ecm-support-PPPOE-offload.patch index e59290878d..2e28409fa0 100644 --- a/target/linux/qualcommax/patches-6.6/0600-2-qca-nss-ecm-support-PPPOE-offload.patch +++ b/target/linux/qualcommax/patches-6.6/0600-2-qca-nss-ecm-support-PPPOE-offload.patch @@ -466,7 +466,7 @@ #endif /* !(__LINUX_IF_PPPOX_H) */ --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -1762,6 +1762,36 @@ enum netdev_priv_flags { +@@ -1761,6 +1761,36 @@ enum netdev_priv_flags { IFF_NO_IP_ALIGN = BIT_ULL(34), }; @@ -503,7 +503,7 @@ #define IFF_802_1Q_VLAN IFF_802_1Q_VLAN #define IFF_EBRIDGE IFF_EBRIDGE #define IFF_BONDING IFF_BONDING -@@ -2127,6 +2157,7 @@ struct net_device { +@@ -2126,6 +2156,7 @@ struct net_device { unsigned int flags; xdp_features_t xdp_features; unsigned long long priv_flags; diff --git a/target/linux/qualcommax/patches-6.6/0600-7-qca-nss-ecm-fix-IPv6-user-route-change-event-calls.patch b/target/linux/qualcommax/patches-6.6/0600-7-qca-nss-ecm-fix-IPv6-user-route-change-event-calls.patch index e3081a79aa..f37ff6e4f8 100644 --- a/target/linux/qualcommax/patches-6.6/0600-7-qca-nss-ecm-fix-IPv6-user-route-change-event-calls.patch +++ b/target/linux/qualcommax/patches-6.6/0600-7-qca-nss-ecm-fix-IPv6-user-route-change-event-calls.patch @@ -15,7 +15,7 @@ Signed-off-by: Murat Sezgin --- a/net/ipv6/route.c +++ b/net/ipv6/route.c -@@ -3867,10 +3867,6 @@ int ip6_route_add(struct fib6_config *cf +@@ -3869,10 +3869,6 @@ int ip6_route_add(struct fib6_config *cf return PTR_ERR(rt); err = __ip6_ins_rt(rt, &cfg->fc_nlinfo, extack); @@ -26,7 +26,7 @@ Signed-off-by: Murat Sezgin fib6_info_release(rt); return err; -@@ -3892,9 +3888,6 @@ static int __ip6_del_rt(struct fib6_info +@@ -3894,9 +3890,6 @@ static int __ip6_del_rt(struct fib6_info err = fib6_del(rt, info); spin_unlock_bh(&table->tb6_lock); @@ -36,7 +36,7 @@ Signed-off-by: Murat Sezgin out: fib6_info_release(rt); return err; -@@ -4500,6 +4493,10 @@ int ipv6_route_ioctl(struct net *net, un +@@ -4505,6 +4498,10 @@ int ipv6_route_ioctl(struct net *net, un break; } rtnl_unlock(); @@ -47,7 +47,7 @@ Signed-off-by: Murat Sezgin return err; } -@@ -5518,11 +5515,17 @@ static int inet6_rtm_delroute(struct sk_ +@@ -5523,11 +5520,17 @@ static int inet6_rtm_delroute(struct sk_ } if (cfg.fc_mp) @@ -67,7 +67,7 @@ Signed-off-by: Murat Sezgin } static int inet6_rtm_newroute(struct sk_buff *skb, struct nlmsghdr *nlh, -@@ -5539,9 +5542,15 @@ static int inet6_rtm_newroute(struct sk_ +@@ -5544,9 +5547,15 @@ static int inet6_rtm_newroute(struct sk_ cfg.fc_metric = IP6_RT_PRIO_USER; if (cfg.fc_mp) diff --git a/target/linux/qualcommax/patches-6.6/0603-1-qca-nss-clients-add-qdisc-support.patch b/target/linux/qualcommax/patches-6.6/0603-1-qca-nss-clients-add-qdisc-support.patch index 9220aca1c7..e57786380b 100644 --- a/target/linux/qualcommax/patches-6.6/0603-1-qca-nss-clients-add-qdisc-support.patch +++ b/target/linux/qualcommax/patches-6.6/0603-1-qca-nss-clients-add-qdisc-support.patch @@ -52,7 +52,7 @@ dev->needs_free_netdev = true; --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -4696,6 +4696,15 @@ void dev_uc_flush(struct net_device *dev +@@ -4693,6 +4693,15 @@ void dev_uc_flush(struct net_device *dev void dev_uc_init(struct net_device *dev); /** @@ -68,7 +68,7 @@ * __dev_uc_sync - Synchonize device's unicast list * @dev: device to sync * @sync: function to call if address should be added -@@ -5222,6 +5231,11 @@ static inline bool netif_is_failover_sla +@@ -5219,6 +5228,11 @@ static inline bool netif_is_failover_sla return dev->priv_flags & IFF_FAILOVER_SLAVE; } @@ -443,7 +443,7 @@ #endif --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -764,6 +764,7 @@ typedef unsigned char *sk_buff_data_t; +@@ -762,6 +762,7 @@ typedef unsigned char *sk_buff_data_t; * @offload_fwd_mark: Packet was L2-forwarded in hardware * @offload_l3_fwd_mark: Packet was L3-forwarded in hardware * @tc_skip_classify: do not classify packet. set by IFB device @@ -451,7 +451,7 @@ * @tc_at_ingress: used within tc_classify to distinguish in/egress * @redirected: packet was redirected by packet classifier * @from_ingress: packet was redirected from the ingress path -@@ -945,6 +946,9 @@ struct sk_buff { +@@ -940,6 +941,9 @@ struct sk_buff { __u8 tc_at_ingress:1; /* See TC_AT_INGRESS_MASK */ __u8 tc_skip_classify:1; #endif diff --git a/target/linux/qualcommax/patches-6.6/0603-4-qca-nss-clients-add-iptunnel-support.patch b/target/linux/qualcommax/patches-6.6/0603-4-qca-nss-clients-add-iptunnel-support.patch index c9fc336864..fb51c88e18 100644 --- a/target/linux/qualcommax/patches-6.6/0603-4-qca-nss-clients-add-iptunnel-support.patch +++ b/target/linux/qualcommax/patches-6.6/0603-4-qca-nss-clients-add-iptunnel-support.patch @@ -10,7 +10,7 @@ __u32 flags; /* tunnel flags */ --- a/include/net/ip_tunnels.h +++ b/include/net/ip_tunnels.h -@@ -558,4 +558,9 @@ static inline void ip_tunnel_info_opts_s +@@ -592,4 +592,9 @@ static inline void ip_tunnel_info_opts_s #endif /* CONFIG_INET */ @@ -22,7 +22,7 @@ #endif /* __NET_IP_TUNNELS_H */ --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c -@@ -2411,6 +2411,26 @@ nla_put_failure: +@@ -2412,6 +2412,26 @@ nla_put_failure: return -EMSGSIZE; } @@ -51,7 +51,7 @@ struct ip6_tnl *tunnel = netdev_priv(dev); --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c -@@ -1733,6 +1733,23 @@ nla_put_failure: +@@ -1734,6 +1734,23 @@ nla_put_failure: return -EMSGSIZE; } diff --git a/target/linux/qualcommax/patches-6.6/0603-5-qca-nss-clients-add-vxlan-support.patch b/target/linux/qualcommax/patches-6.6/0603-5-qca-nss-clients-add-vxlan-support.patch index 7d05fd1aff..b80d57bdff 100644 --- a/target/linux/qualcommax/patches-6.6/0603-5-qca-nss-clients-add-vxlan-support.patch +++ b/target/linux/qualcommax/patches-6.6/0603-5-qca-nss-clients-add-vxlan-support.patch @@ -59,7 +59,7 @@ /* caller should hold vxlan->hash_lock */ static struct vxlan_rdst *vxlan_fdb_find_rdst(struct vxlan_fdb *f, union vxlan_addr *ip, __be16 port, -@@ -2581,6 +2612,9 @@ void vxlan_xmit_one(struct sk_buff *skb, +@@ -2600,6 +2631,9 @@ void vxlan_xmit_one(struct sk_buff *skb, goto out_unlock; } @@ -69,7 +69,7 @@ tos = ip_tunnel_ecn_encap(tos, old_iph, skb); ttl = ttl ? : ip4_dst_hoplimit(&rt->dst); err = vxlan_build_skb(skb, ndst, sizeof(struct iphdr), -@@ -2652,6 +2686,9 @@ void vxlan_xmit_one(struct sk_buff *skb, +@@ -2671,6 +2705,9 @@ void vxlan_xmit_one(struct sk_buff *skb, if (err < 0) goto tx_error; diff --git a/target/linux/qualcommax/patches-6.6/0603-7-qca-nss-clients-iptunnel-lock-this-cpu.patch b/target/linux/qualcommax/patches-6.6/0603-7-qca-nss-clients-iptunnel-lock-this-cpu.patch index e4ed49ea4c..671d8d1e37 100644 --- a/target/linux/qualcommax/patches-6.6/0603-7-qca-nss-clients-iptunnel-lock-this-cpu.patch +++ b/target/linux/qualcommax/patches-6.6/0603-7-qca-nss-clients-iptunnel-lock-this-cpu.patch @@ -1,6 +1,6 @@ --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c -@@ -2417,7 +2417,7 @@ nla_put_failure: +@@ -2418,7 +2418,7 @@ nla_put_failure: */ void ip6_update_offload_stats(struct net_device *dev, void *ptr) { @@ -11,7 +11,7 @@ --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c -@@ -1736,7 +1736,7 @@ nla_put_failure: +@@ -1737,7 +1737,7 @@ nla_put_failure: /* QCA NSS Clients Support - Start */ void ipip6_update_offload_stats(struct net_device *dev, void *ptr) { diff --git a/target/linux/qualcommax/patches-6.6/0604-1-qca-add-mcs-support.patch b/target/linux/qualcommax/patches-6.6/0604-1-qca-add-mcs-support.patch index 4b87366d84..bbac5a709c 100644 --- a/target/linux/qualcommax/patches-6.6/0604-1-qca-add-mcs-support.patch +++ b/target/linux/qualcommax/patches-6.6/0604-1-qca-add-mcs-support.patch @@ -64,7 +64,7 @@ #endif --- a/net/bridge/br_netlink.c +++ b/net/bridge/br_netlink.c -@@ -656,6 +656,7 @@ void br_info_notify(int event, const str +@@ -657,6 +657,7 @@ void br_info_notify(int event, const str kfree_skb(skb); goto errout; } @@ -89,7 +89,7 @@ MODULE_LICENSE("GPL"); --- a/net/bridge/br_device.c +++ b/net/bridge/br_device.c -@@ -83,6 +83,13 @@ netdev_tx_t br_dev_xmit(struct sk_buff * +@@ -89,6 +89,13 @@ netdev_tx_t br_dev_xmit(struct sk_buff * if (is_broadcast_ether_addr(dest)) { br_flood(br, skb, BR_PKT_BROADCAST, false, true, vid); } else if (is_multicast_ether_addr(dest)) { diff --git a/target/linux/qualcommax/patches-6.6/0605-1-qca-nss-cfi-support.patch b/target/linux/qualcommax/patches-6.6/0605-1-qca-nss-cfi-support.patch index a0ed16e38f..329dee7db6 100644 --- a/target/linux/qualcommax/patches-6.6/0605-1-qca-nss-cfi-support.patch +++ b/target/linux/qualcommax/patches-6.6/0605-1-qca-nss-cfi-support.patch @@ -1,6 +1,6 @@ --- a/crypto/authenc.c +++ b/crypto/authenc.c -@@ -417,6 +417,8 @@ static int crypto_authenc_create(struct +@@ -415,6 +415,8 @@ static int crypto_authenc_create(struct enc->base.cra_driver_name) >= CRYPTO_MAX_ALG_NAME) goto err_free_inst; @@ -11,7 +11,7 @@ inst->alg.base.cra_blocksize = enc->base.cra_blocksize; --- a/include/linux/crypto.h +++ b/include/linux/crypto.h -@@ -101,6 +101,11 @@ +@@ -86,6 +86,11 @@ #define CRYPTO_NOLOAD 0x00008000 /* @@ -26,14 +26,14 @@ --- a/net/ipv4/esp4.c +++ b/net/ipv4/esp4.c @@ -3,6 +3,7 @@ - + #include #include +#include #include #include #include -@@ -658,6 +658,7 @@ static int esp_output(struct xfrm_state +@@ -658,6 +659,7 @@ static int esp_output(struct xfrm_state struct ip_esp_hdr *esph; struct crypto_aead *aead; struct esp_info esp; @@ -41,7 +41,7 @@ esp.inplace = true; -@@ -669,6 +670,11 @@ static int esp_output(struct xfrm_state +@@ -669,6 +671,11 @@ static int esp_output(struct xfrm_state aead = x->data; alen = crypto_aead_authsize(aead); @@ -53,7 +53,7 @@ esp.tfclen = 0; if (x->tfcpad) { struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb); -@@ -890,6 +896,7 @@ static int esp_input(struct xfrm_state * +@@ -890,6 +897,7 @@ static int esp_input(struct xfrm_state * u8 *iv; struct scatterlist *sg; int err = -EINVAL; @@ -61,7 +61,7 @@ if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) goto out; -@@ -897,6 +904,12 @@ static int esp_input(struct xfrm_state * +@@ -897,6 +905,12 @@ static int esp_input(struct xfrm_state * if (elen <= 0) goto out; @@ -77,14 +77,14 @@ --- a/net/ipv6/esp6.c +++ b/net/ipv6/esp6.c @@ -15,6 +15,7 @@ - + #include #include +#include #include #include #include -@@ -696,6 +696,7 @@ static int esp6_output(struct xfrm_state +@@ -696,6 +697,7 @@ static int esp6_output(struct xfrm_state struct ip_esp_hdr *esph; struct crypto_aead *aead; struct esp_info esp; @@ -92,7 +92,7 @@ esp.inplace = true; -@@ -707,6 +708,11 @@ static int esp6_output(struct xfrm_state +@@ -707,6 +709,11 @@ static int esp6_output(struct xfrm_state aead = x->data; alen = crypto_aead_authsize(aead); @@ -104,7 +104,7 @@ esp.tfclen = 0; if (x->tfcpad) { struct xfrm_dst *dst = (struct xfrm_dst *)skb_dst(skb); -@@ -934,6 +940,7 @@ static int esp6_input(struct xfrm_state +@@ -934,6 +941,7 @@ static int esp6_input(struct xfrm_state __be32 *seqhi; u8 *iv; struct scatterlist *sg; @@ -112,7 +112,7 @@ if (!pskb_may_pull(skb, sizeof(struct ip_esp_hdr) + ivlen)) { ret = -EINVAL; -@@ -945,6 +952,12 @@ static int esp6_input(struct xfrm_state +@@ -945,6 +953,12 @@ static int esp6_input(struct xfrm_state goto out; } diff --git a/target/linux/qualcommax/patches-6.6/0981-1-qca-skb_recycler-support.patch b/target/linux/qualcommax/patches-6.6/0981-1-qca-skb_recycler-support.patch index e59b5e5398..a09ace9b54 100644 --- a/target/linux/qualcommax/patches-6.6/0981-1-qca-skb_recycler-support.patch +++ b/target/linux/qualcommax/patches-6.6/0981-1-qca-skb_recycler-support.patch @@ -10,7 +10,7 @@ CPUHP_LUSTRE_CFS_DEAD, --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -1065,6 +1065,10 @@ struct sk_buff { +@@ -1059,6 +1059,10 @@ struct sk_buff { /* only useable after checking ->active_extensions != 0 */ struct skb_ext *extensions; #endif @@ -21,7 +21,7 @@ }; /* if you move pkt_type around you also must adapt those constants */ -@@ -1250,7 +1254,7 @@ static inline void kfree_skb_list(struct sk_buff *segs) +@@ -1244,7 +1248,7 @@ static inline void kfree_skb_list(struct kfree_skb_list_reason(segs, SKB_DROP_REASON_NOT_SPECIFIED); } @@ -30,7 +30,7 @@ void consume_skb(struct sk_buff *skb); #else static inline void consume_skb(struct sk_buff *skb) -@@ -1262,6 +1266,9 @@ static inline void consume_skb(struct sk_buff *skb) +@@ -1256,6 +1260,9 @@ static inline void consume_skb(struct sk void __consume_stateless_skb(struct sk_buff *skb); void __kfree_skb(struct sk_buff *skb); extern struct kmem_cache *skbuff_cache; @@ -79,7 +79,7 @@ +obj-$(CONFIG_SKB_RECYCLER) += skbuff_recycle.o --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6016,10 +6016,16 @@ static int process_backlog(struct napi_struct *napi, int quota) +@@ -6043,10 +6043,16 @@ static int process_backlog(struct napi_s napi->weight = READ_ONCE(dev_rx_weight); while (again) { @@ -131,7 +131,7 @@ struct kmem_cache *skbuff_cache __ro_after_init; static struct kmem_cache *skbuff_fclone_cache __ro_after_init; -@@ -551,21 +576,20 @@ static void *kmalloc_reserve(unsigned int *size, gfp_t flags, int node, +@@ -551,21 +576,20 @@ static void *kmalloc_reserve(unsigned in bool *pfmemalloc) { bool ret_pfmemalloc = false; @@ -160,7 +160,7 @@ goto out; } -@@ -648,10 +671,12 @@ struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask, +@@ -648,10 +672,12 @@ struct sk_buff *__alloc_skb(unsigned int * aligned memory blocks, unless SLUB/SLAB debug is enabled. * Both skb->head and skb_shared_info are cache line aligned. */ @@ -174,7 +174,7 @@ * Put skb_shared_info exactly at the end of allocated zone, * to allow max possible filling before reallocation. */ -@@ -686,7 +711,7 @@ EXPORT_SYMBOL(__alloc_skb); +@@ -686,7 +712,7 @@ EXPORT_SYMBOL(__alloc_skb); /** * __netdev_alloc_skb - allocate an skbuff for rx on a specific device * @dev: network device to receive on @@ -183,7 +183,7 @@ * @gfp_mask: get_free_pages mask, passed to alloc_skb * * Allocate a new &sk_buff and assign it a usage count of one. The -@@ -696,29 +721,53 @@ EXPORT_SYMBOL(__alloc_skb); +@@ -696,29 +722,53 @@ EXPORT_SYMBOL(__alloc_skb); * * %NULL is returned if there is no free memory. */ @@ -242,7 +242,7 @@ if (sk_memalloc_socks()) gfp_mask |= __GFP_MEMALLOC; -@@ -747,6 +796,7 @@ struct sk_buff *__netdev_alloc_skb(struct net_device *dev, unsigned int len, +@@ -747,6 +797,7 @@ struct sk_buff *__netdev_alloc_skb(struc if (pfmemalloc) skb->pfmemalloc = 1; skb->head_frag = 1; @@ -250,7 +250,7 @@ skb_success: skb_reserve(skb, NET_SKB_PAD); -@@ -817,7 +867,8 @@ struct sk_buff *__napi_alloc_skb(struct napi_struct *napi, unsigned int len, +@@ -817,7 +868,8 @@ struct sk_buff *__napi_alloc_skb(struct data = page_frag_alloc_1k(&nc->page_small, gfp_mask); pfmemalloc = NAPI_SMALL_PAGE_PFMEMALLOC(nc->page_small); } else { @@ -260,7 +260,7 @@ data = page_frag_alloc(&nc->page, len, gfp_mask); pfmemalloc = nc->page.pfmemalloc; -@@ -975,7 +1026,7 @@ static void skb_free_head(struct sk_buff *skb, bool napi_safe) +@@ -975,7 +1027,7 @@ static void skb_free_head(struct sk_buff } } @@ -269,7 +269,7 @@ bool napi_safe) { struct skb_shared_info *shinfo = skb_shinfo(skb); -@@ -1018,7 +1069,7 @@ static void skb_release_data(struct sk_buff *skb, enum skb_drop_reason reason, +@@ -1018,7 +1070,7 @@ exit: /* * Free an skbuff by memory without cleaning the state. */ @@ -278,7 +278,7 @@ { struct sk_buff_fclones *fclones; -@@ -1282,7 +1333,6 @@ void skb_tx_error(struct sk_buff *skb) +@@ -1282,7 +1334,6 @@ void skb_tx_error(struct sk_buff *skb) } EXPORT_SYMBOL(skb_tx_error); @@ -286,7 +286,7 @@ /** * consume_skb - free an skbuff * @skb: buffer to free -@@ -1291,13 +1341,48 @@ EXPORT_SYMBOL(skb_tx_error); +@@ -1291,13 +1342,48 @@ EXPORT_SYMBOL(skb_tx_error); * Functions identically to kfree_skb, but kfree_skb assumes that the frame * is being dropped after a failure and notes that */ @@ -300,14 +300,14 @@ + /*Tian: Not sure if we need to continue using this since + * since unref does the work in 5.4 + */ -+ + + /* + if (likely(atomic_read(&skb->users) == 1)) + smp_rmb(); + else if (likely(!atomic_dec_and_test(&skb->users))) + return; + */ - ++ + /* If possible we'd like to recycle any skb rather than just free it, + * but in order to do that we need to release any head state too. + * We don't want to do this later because we'll be in a pre-emption @@ -336,7 +336,7 @@ } EXPORT_SYMBOL(consume_skb); #endif -@@ -2107,6 +2192,8 @@ int pskb_expand_head(struct sk_buff *skb, int nhead, int ntail, +@@ -2113,6 +2199,8 @@ int pskb_expand_head(struct sk_buff *skb if (skb_pfmemalloc(skb)) gfp_mask |= __GFP_MEMALLOC; @@ -345,7 +345,7 @@ data = kmalloc_reserve(&size, gfp_mask, NUMA_NO_NODE, NULL); if (!data) goto nodata; -@@ -4854,6 +4941,10 @@ static void skb_extensions_init(void) {} +@@ -4869,6 +4957,10 @@ static void skb_extensions_init(void) {} void __init skb_init(void) { @@ -356,7 +356,7 @@ skbuff_cache = kmem_cache_create_usercopy("skbuff_head_cache", sizeof(struct sk_buff), 0, -@@ -4879,6 +4970,7 @@ void __init skb_init(void) +@@ -4894,6 +4986,7 @@ void __init skb_init(void) SKB_SMALL_HEAD_HEADROOM, NULL); skb_extensions_init(); @@ -364,7 +364,7 @@ } static int -@@ -6382,6 +6474,8 @@ static int pskb_carve_inside_header(struct sk_buff *skb, const u32 off, +@@ -6397,6 +6490,8 @@ static int pskb_carve_inside_header(stru if (skb_pfmemalloc(skb)) gfp_mask |= __GFP_MEMALLOC; @@ -373,7 +373,7 @@ data = kmalloc_reserve(&size, gfp_mask, NUMA_NO_NODE, NULL); if (!data) return -ENOMEM; -@@ -6498,6 +6592,8 @@ static int pskb_carve_inside_nonlinear(struct sk_buff *skb, const u32 off, +@@ -6513,6 +6608,8 @@ static int pskb_carve_inside_nonlinear(s if (skb_pfmemalloc(skb)) gfp_mask |= __GFP_MEMALLOC; diff --git a/target/linux/qualcommax/patches-6.6/0982-1-arm64-dts-qcom-disable-swiotlb-for-64mb-savings.patch b/target/linux/qualcommax/patches-6.6/0982-1-arm64-dts-qcom-disable-swiotlb-for-64mb-savings.patch index bb610079aa..c993f60989 100644 --- a/target/linux/qualcommax/patches-6.6/0982-1-arm64-dts-qcom-disable-swiotlb-for-64mb-savings.patch +++ b/target/linux/qualcommax/patches-6.6/0982-1-arm64-dts-qcom-disable-swiotlb-for-64mb-savings.patch @@ -22,7 +22,7 @@ keys { --- a/arch/arm64/boot/dts/qcom/ipq8070-rm2-6.dts +++ b/arch/arm64/boot/dts/qcom/ipq8070-rm2-6.dts -@@ -32,7 +32,7 @@ +@@ -33,7 +33,7 @@ chosen { stdout-path = "serial0:115200n8"; @@ -44,7 +44,7 @@ keys { --- a/arch/arm64/boot/dts/qcom/ipq8071-mf269.dts +++ b/arch/arm64/boot/dts/qcom/ipq8071-mf269.dts -@@ -24,7 +24,7 @@ +@@ -25,7 +25,7 @@ chosen { stdout-path = "serial0:115200n8"; @@ -55,7 +55,7 @@ keys { --- a/arch/arm64/boot/dts/qcom/ipq8072-ax880.dts +++ b/arch/arm64/boot/dts/qcom/ipq8072-ax880.dts -@@ -29,7 +29,7 @@ +@@ -30,7 +30,7 @@ chosen { stdout-path = "serial0:115200n8"; @@ -88,7 +88,7 @@ keys { --- a/arch/arm64/boot/dts/qcom/ipq8174-mx4200.dtsi +++ b/arch/arm64/boot/dts/qcom/ipq8174-mx4200.dtsi -@@ -29,7 +29,7 @@ +@@ -30,7 +30,7 @@ chosen { stdout-path = "serial0:115200n8";