diff options
| -rw-r--r-- | qdf/linux/src/qdf_nbuf.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/qdf/linux/src/qdf_nbuf.c b/qdf/linux/src/qdf_nbuf.c index 96c8eacc36f2..ba35f66f9145 100644 --- a/qdf/linux/src/qdf_nbuf.c +++ b/qdf/linux/src/qdf_nbuf.c @@ -2334,9 +2334,20 @@ void qdf_net_buf_debug_release_skb(qdf_nbuf_t net_buf) qdf_nbuf_t next; next = qdf_nbuf_queue_next(ext_list); + + if (qdf_nbuf_is_tso(ext_list) && + qdf_nbuf_get_users(ext_list) > 1) { + ext_list = next; + continue; + } + qdf_net_buf_debug_delete_node(ext_list); ext_list = next; } + + if (qdf_nbuf_is_tso(net_buf) && qdf_nbuf_get_users(net_buf) > 1) + return; + qdf_net_buf_debug_delete_node(net_buf); } qdf_export_symbol(qdf_net_buf_debug_release_skb); |
