Jelajahi Sumber

qcacmn: Add IPA ownership clear for Intra-BSS Tx packets

Set IPA ownership for intra-BSS Tx packets to avoid skb_orphan(), and
clear the ownership after check it to avoid ipa_free_skb() is called
when Tx completed.

Change-Id: I03883773e418bb5518ea63a324d22503173ea436
CRs-Fixed: 2064191
Yun Park 7 tahun lalu
induk
melakukan
2fedb13531
2 mengubah file dengan 8 tambahan dan 0 penghapusan
  1. 5 0
      qdf/inc/qdf_nbuf.h
  2. 3 0
      qdf/linux/src/i_qdf_nbuf.h

+ 5 - 0
qdf/inc/qdf_nbuf.h

@@ -548,6 +548,11 @@ static inline void qdf_nbuf_ipa_owned_set(qdf_nbuf_t buf)
 	__qdf_nbuf_ipa_owned_set(buf);
 }
 
+static inline void qdf_nbuf_ipa_owned_clear(qdf_nbuf_t buf)
+{
+	__qdf_nbuf_ipa_owned_clear(buf);
+}
+
 static inline int qdf_nbuf_ipa_priv_get(qdf_nbuf_t buf)
 {
 	return __qdf_nbuf_ipa_priv_get(buf);

+ 3 - 0
qdf/linux/src/i_qdf_nbuf.h

@@ -598,6 +598,9 @@ typedef void (*qdf_nbuf_free_t)(__qdf_nbuf_t);
 #define __qdf_nbuf_ipa_owned_set(skb) \
 	(QDF_NBUF_CB_TX_IPA_OWNED(skb) = 1)
 
+#define __qdf_nbuf_ipa_owned_clear(skb) \
+	(QDF_NBUF_CB_TX_IPA_OWNED(skb) = 0)
+
 #define __qdf_nbuf_ipa_priv_get(skb)	\
 	QDF_NBUF_CB_TX_IPA_PRIV(skb)