From ad866513f50025c10dd9edaf226a0b1a0f780fd4 Mon Sep 17 00:00:00 2001 From: Manjunathappa Prakash Date: Mon, 15 May 2017 18:16:22 -0700 Subject: [PATCH] qcacmn: Do not free the src buffer in __qdf_nbuf_cat() It is callers reponsibilty to free the src nbuf if concat succeeds. Change-Id: Iaf83524924e312bf819483de38603241f45170a5 CRs-Fixed: 2047585 --- qdf/linux/src/i_qdf_nbuf.h | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) 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); }