diff --git a/qdf/linux/src/i_qdf_nbuf.h b/qdf/linux/src/i_qdf_nbuf.h index 811e5d546b..727f96f586 100644 --- a/qdf/linux/src/i_qdf_nbuf.h +++ b/qdf/linux/src/i_qdf_nbuf.h @@ -605,8 +605,8 @@ static inline size_t __qdf_nbuf_len(struct sk_buff *skb) * @dst: Buffer to piggyback into * @src: Buffer to put * - * Link tow nbufs the new buf is piggybacked into the older one. The older - * (src) skb is released. + * Concat two nbufs, the new buf(src) is piggybacked into the older one. + * It is callers responsibility to free the src skb. * * Return: QDF_STATUS (status of the call) if failed the src skb * is released @@ -628,11 +628,9 @@ __qdf_nbuf_cat(struct sk_buff *dst, struct sk_buff *src) if (error) return __qdf_to_status(error); } + memcpy(skb_tail_pointer(dst), src->data, src->len); - skb_put(dst, src->len); - dev_kfree_skb_any(src); - return __qdf_to_status(error); }