--- a/drivers/net/wireless/ath/ath10k/ahb.c
+++ b/drivers/net/wireless/ath/ath10k/ahb.c
@@ -180,40 +180,35 @@ static int ath10k_ahb_rst_ctrl_init(stru
 
 	dev = &ar_ahb->pdev->dev;
 
-	ar_ahb->core_cold_rst = devm_reset_control_get_exclusive(dev,
-								 "wifi_core_cold");
+	ar_ahb->core_cold_rst = devm_reset_control_get(dev, "wifi_core_cold");
 	if (IS_ERR(ar_ahb->core_cold_rst)) {
 		ath10k_err(ar, "failed to get core cold rst ctrl: %ld\n",
 			   PTR_ERR(ar_ahb->core_cold_rst));
 		return PTR_ERR(ar_ahb->core_cold_rst);
 	}
 
-	ar_ahb->radio_cold_rst = devm_reset_control_get_exclusive(dev,
-								  "wifi_radio_cold");
+	ar_ahb->radio_cold_rst = devm_reset_control_get(dev, "wifi_radio_cold");
 	if (IS_ERR(ar_ahb->radio_cold_rst)) {
 		ath10k_err(ar, "failed to get radio cold rst ctrl: %ld\n",
 			   PTR_ERR(ar_ahb->radio_cold_rst));
 		return PTR_ERR(ar_ahb->radio_cold_rst);
 	}
 
-	ar_ahb->radio_warm_rst = devm_reset_control_get_exclusive(dev,
-								  "wifi_radio_warm");
+	ar_ahb->radio_warm_rst = devm_reset_control_get(dev, "wifi_radio_warm");
 	if (IS_ERR(ar_ahb->radio_warm_rst)) {
 		ath10k_err(ar, "failed to get radio warm rst ctrl: %ld\n",
 			   PTR_ERR(ar_ahb->radio_warm_rst));
 		return PTR_ERR(ar_ahb->radio_warm_rst);
 	}
 
-	ar_ahb->radio_srif_rst = devm_reset_control_get_exclusive(dev,
-								  "wifi_radio_srif");
+	ar_ahb->radio_srif_rst = devm_reset_control_get(dev, "wifi_radio_srif");
 	if (IS_ERR(ar_ahb->radio_srif_rst)) {
 		ath10k_err(ar, "failed to get radio srif rst ctrl: %ld\n",
 			   PTR_ERR(ar_ahb->radio_srif_rst));
 		return PTR_ERR(ar_ahb->radio_srif_rst);
 	}
 
-	ar_ahb->cpu_init_rst = devm_reset_control_get_exclusive(dev,
-								"wifi_cpu_init");
+	ar_ahb->cpu_init_rst = devm_reset_control_get(dev, "wifi_cpu_init");
 	if (IS_ERR(ar_ahb->cpu_init_rst)) {
 		ath10k_err(ar, "failed to get cpu init rst ctrl: %ld\n",
 			   PTR_ERR(ar_ahb->cpu_init_rst));
--- a/drivers/net/wireless/ath/ath11k/Kconfig
+++ b/drivers/net/wireless/ath/ath11k/Kconfig
@@ -5,7 +5,6 @@ config ATH11K
 	depends on MAC80211 && HAS_DMA
 	depends on CRYPTO_MICHAEL_MIC
 	select ATH_COMMON
-	depends on QCOM_QMI_HELPERS
 	help
 	  This module adds support for Qualcomm Technologies 802.11ax family of
 	  chipsets.
--- a/drivers/net/wireless/ath/ath11k/wmi.h
+++ b/drivers/net/wireless/ath/ath11k/wmi.h
@@ -46,7 +46,7 @@ struct wmi_tlv {
 
 #define WMI_TLV_LEN	GENMASK(15, 0)
 #define WMI_TLV_TAG	GENMASK(31, 16)
-#define TLV_HDR_SIZE	sizeof_field(struct wmi_tlv, header)
+#define TLV_HDR_SIZE	FIELD_SIZEOF(struct wmi_tlv, header)
 
 #define WMI_CMD_HDR_CMD_ID      GENMASK(23, 0)
 #define WMI_MAX_MEM_REQS        32
--- a/include/linux/backport-refcount.h
+++ b/include/linux/backport-refcount.h
@@ -165,41 +165,11 @@ static inline __must_check bool __refcou
 	return old;
 }
 
-/**
- * refcount_add_not_zero - add a value to a refcount unless it is 0
- * @i: the value to add to the refcount
- * @r: the refcount
- *
- * Will saturate at REFCOUNT_SATURATED and WARN.
- *
- * Provides no memory ordering, it is assumed the caller has guaranteed the
- * object memory to be stable (RCU, etc.). It does provide a control dependency
- * and thereby orders future stores. See the comment on top.
- *
- * Use of this function is not recommended for the normal reference counting
- * use case in which references are taken and released one at a time.  In these
- * cases, refcount_inc(), or one of its variants, should instead be used to
- * increment a reference count.
- *
- * Return: false if the passed refcount is 0, true otherwise
- */
 static inline __must_check bool refcount_add_not_zero(int i, refcount_t *r)
 {
 	return __refcount_add_not_zero(i, r, NULL);
 }
 
-static inline void __refcount_add(int i, refcount_t *r, int *oldp)
-{
-	int old = atomic_fetch_add_relaxed(i, &r->refs);
-
-	if (oldp)
-		*oldp = old;
-
-	if (unlikely(!old))
-		refcount_warn_saturate(r, REFCOUNT_ADD_UAF);
-	else if (unlikely(old < 0 || old + i < 0))
-		refcount_warn_saturate(r, REFCOUNT_ADD_OVF);
-}
 
 /**
  * refcount_add - add a value to a refcount
@@ -219,7 +189,7 @@ static inline void __refcount_add(int i,
  */
 static inline void refcount_add(int i, refcount_t *r)
 {
-	__refcount_add(i, r, NULL);
+	atomic_add(i, &r->refs);
 }
 
 static inline __must_check bool __refcount_inc_not_zero(refcount_t *r, int *oldp)
@@ -267,52 +237,14 @@ static inline void refcount_inc(refcount
 	__refcount_inc(r, NULL);
 }
 
-static inline __must_check bool __refcount_sub_and_test(int i, refcount_t *r, int *oldp)
-{
-	int old = atomic_fetch_sub_release(i, &r->refs);
-
-	if (oldp)
-		*oldp = old;
-
-	if (old == i) {
-		smp_acquire__after_ctrl_dep();
-		return true;
-	}
-
-	if (unlikely(old < 0 || old - i < 0))
-		refcount_warn_saturate(r, REFCOUNT_SUB_UAF);
-
-	return false;
-}
-
-/**
- * refcount_sub_and_test - subtract from a refcount and test if it is 0
- * @i: amount to subtract from the refcount
- * @r: the refcount
- *
- * Similar to atomic_dec_and_test(), but it will WARN, return false and
- * ultimately leak on underflow and will fail to decrement when saturated
- * at REFCOUNT_SATURATED.
- *
- * Provides release memory ordering, such that prior loads and stores are done
- * before, and provides an acquire ordering on success such that free()
- * must come after.
- *
- * Use of this function is not recommended for the normal reference counting
- * use case in which references are taken and released one at a time.  In these
- * cases, refcount_dec(), or one of its variants, should instead be used to
- * decrement a reference count.
- *
- * Return: true if the resulting refcount is 0, false otherwise
- */
 static inline __must_check bool refcount_sub_and_test(int i, refcount_t *r)
 {
-	return __refcount_sub_and_test(i, r, NULL);
+	return atomic_sub_and_test(i, &r->refs);
 }
 
 static inline __must_check bool __refcount_dec_and_test(refcount_t *r, int *oldp)
 {
-	return __refcount_sub_and_test(1, r, oldp);
+	return atomic_sub_and_test(i, &r->refs);
 }
 
 /**
@@ -333,30 +265,9 @@ static inline __must_check bool refcount
 	return __refcount_dec_and_test(r, NULL);
 }
 
-static inline void __refcount_dec(refcount_t *r, int *oldp)
-{
-	int old = atomic_fetch_sub_release(1, &r->refs);
-
-	if (oldp)
-		*oldp = old;
-
-	if (unlikely(old <= 1))
-		refcount_warn_saturate(r, REFCOUNT_DEC_LEAK);
-}
-
-/**
- * refcount_dec - decrement a refcount
- * @r: the refcount
- *
- * Similar to atomic_dec(), it will WARN on underflow and fail to decrement
- * when saturated at REFCOUNT_SATURATED.
- *
- * Provides release memory ordering, such that prior loads and stores are done
- * before.
- */
 static inline void refcount_dec(refcount_t *r)
 {
-	__refcount_dec(r, NULL);
+	atomic_dec(&r->refs);
 }
 
 extern __must_check bool refcount_dec_if_one(refcount_t *r);
--- a/net/wireless/nl80211.c
+++ b/net/wireless/nl80211.c
@@ -31,6 +31,8 @@
 #include "reg.h"
 #include "rdev-ops.h"
 
+#define VLAN_N_VID	4096
+
 static int nl80211_crypto_settings(struct cfg80211_registered_device *rdev,
 				   struct genl_info *info,
 				   struct cfg80211_crypto_settings *settings,
@@ -13763,7 +13765,7 @@ static int nl80211_vendor_check_policy(c
 		return -EINVAL;
 	}
 
-	return nla_validate_nested(attr, vcmd->maxattr, vcmd->policy, extack);
+	return 0;
 }
 
 static int nl80211_vendor_cmd(struct sk_buff *skb, struct genl_info *info)
--- a/backport-include/linux/pm_qos.h
+++ b/backport-include/linux/pm_qos.h
@@ -41,5 +41,4 @@ static inline s32 cpu_latency_qos_limit(
 	return pm_qos_request(PM_QOS_CPU_DMA_LATENCY);
 }
 #endif /* < 5.7 */
-
 #endif	/* _COMPAT_LINUX_PM_QOS_H */
--- a/net/mac80211/util.c
+++ b/net/mac80211/util.c
@@ -3176,7 +3176,7 @@ u8 *ieee80211_ie_build_he_oper(u8 *pos,
 			he_6ghz_op->ccfs0 -= 8;
 		else
 			he_6ghz_op->ccfs0 += 8;
-		fallthrough;
+		/* fallthrough; */
 	case NL80211_CHAN_WIDTH_80P80:
 		he_6ghz_op->control =
 			IEEE80211_HE_6GHZ_OPER_CTRL_CHANWIDTH_160MHZ;
--- a/backport-include/linux/slab.h
+++ b/backport-include/linux/slab.h
@@ -28,4 +28,6 @@ static inline void *kmalloc_array(size_t
 #define kfree_sensitive(x)	kzfree(x)
 #endif
 
+#define kfree_sensitive(x)	kzfree(x)	/* For backward compatibility */
+
 #endif /* __BACKPORT_SLAB_H */
