From 2fedb13531444494aebd1c9627e70bcf673a9215 Mon Sep 17 00:00:00 2001 From: Yun Park Date: Wed, 14 Jun 2017 15:16:49 -0700 Subject: [PATCH] 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 --- qdf/inc/qdf_nbuf.h | 5 +++++ qdf/linux/src/i_qdf_nbuf.h | 3 +++ 2 files changed, 8 insertions(+) diff --git a/qdf/inc/qdf_nbuf.h b/qdf/inc/qdf_nbuf.h index e02b07b30b07..186dd04b7c85 100644 --- a/qdf/inc/qdf_nbuf.h +++ b/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); diff --git a/qdf/linux/src/i_qdf_nbuf.h b/qdf/linux/src/i_qdf_nbuf.h index 20756adba13e..bb0803d5d8a6 100644 --- a/qdf/linux/src/i_qdf_nbuf.h +++ b/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)