diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index 9e9a0a5c4b..8c36f4aa3f 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -309,6 +309,10 @@ ifdef CONFIG_ATH11K_NSS_SUPPORT IREMAP_CFLAGS+=-I$(STAGING_DIR)/usr/include/qca-nss-drv -I$(STAGING_DIR)/usr/include/qca-nss-clients endif +ifeq ($(CONFIG_NSS_FIRMWARE_VERSION_11_4),y) + C_DEFINES+=-DCONFIG_NSS_FIRMWARE_VERSION_11_4 +endif + config-$(CONFIG_PACKAGE_MAC80211_NSS_SUPPORT) += MAC80211_NSS_SUPPORT MAKE_OPTS:= \ diff --git a/package/kernel/mac80211/patches/nss/ath11k/999-312-ath11k-add-fw-11-4-check.patch b/package/kernel/mac80211/patches/nss/ath11k/999-312-ath11k-add-fw-11-4-check.patch new file mode 100644 index 0000000000..dd2af5bbf2 --- /dev/null +++ b/package/kernel/mac80211/patches/nss/ath11k/999-312-ath11k-add-fw-11-4-check.patch @@ -0,0 +1,31 @@ +--- a/drivers/net/wireless/ath/ath11k/nss.c ++++ b/drivers/net/wireless/ath/ath11k/nss.c +@@ -818,9 +818,11 @@ ath11k_nss_vdev_special_data_receive(str + bool eth_decap = false; + int data_offs = 0; + int ret = 0; +- struct nss_wifi_vdev_addr4_data_metadata *addr4_metadata = NULL; + struct ath11k_skb_rxcb *rxcb; ++#ifndef CONFIG_NSS_FIRMWARE_VERSION_11_4 ++ struct nss_wifi_vdev_addr4_data_metadata *addr4_metadata = NULL; + struct ath11k_peer *ta_peer = NULL; ++#endif + + arvif = ath11k_nss_get_arvif_from_dev(dev); + if (!arvif) { +@@ -872,6 +874,7 @@ ath11k_nss_vdev_special_data_receive(str + rxcb->is_mcbc = true; + ath11k_dp_rx_from_nss(arvif->ar, skb, napi); + break; ++#ifndef CONFIG_NSS_FIRMWARE_VERSION_11_4 + case NSS_WIFI_VDEV_EXT_DATA_PKT_TYPE_4ADDR: + if (eth_decap) { + addr4_metadata = &wifi_metadata->metadata.addr4_metadata; +@@ -891,6 +894,7 @@ ath11k_nss_vdev_special_data_receive(str + spin_unlock_bh(&ab->base_lock); + } + dev_kfree_skb_any(skb); ++#endif + break; + default: + ath11k_warn(ab, "unsupported pkt_type %d from nss\n", wifi_metadata->pkt_type);