qcacmn: Add nbuf debug version for qdf_nbuf_unshare API

skb_unshare may create copy and return different skb. If skb_unshare
returns different skb, remove debug node for the original skb and add
new debug node for the returned skb.

Change-Id: Ib511cde241ea7a44bd726912c225452722d953a7
CRs-Fixed: 2260467
Este commit está contenido en:
Kiran Venkatappa
2018-06-13 18:23:32 +05:30
cometido por nshrivas
padre c84218fed7
commit 6dfc2c26ec

Ver fichero

@@ -2734,11 +2734,34 @@ qdf_nbuf_linearize(qdf_nbuf_t buf)
return __qdf_nbuf_linearize(buf);
}
#ifdef NBUF_MEMORY_DEBUG
#define qdf_nbuf_unshare(d) \
qdf_nbuf_unshare_debug(d, __FILE__, __LINE__)
static inline qdf_nbuf_t
qdf_nbuf_unshare_debug(qdf_nbuf_t buf, uint8_t *file_name, uint32_t line_num)
{
qdf_nbuf_t unshared_buf;
unshared_buf = __qdf_nbuf_unshare(buf);
if (qdf_likely(buf != unshared_buf)) {
qdf_net_buf_debug_delete_node(buf);
qdf_net_buf_debug_add_node(unshared_buf, 0,
file_name, line_num);
}
return unshared_buf;
}
#else
static inline qdf_nbuf_t
qdf_nbuf_unshare(qdf_nbuf_t buf)
{
return __qdf_nbuf_unshare(buf);
}
#endif
static inline bool
qdf_nbuf_is_cloned(qdf_nbuf_t buf)