From a8b479f3e17b3a5beea236125ba00c7046bdacbc Mon Sep 17 00:00:00 2001 From: Jiyoung Jeong Date: Thu, 21 Feb 2019 19:06:19 +0900 Subject: [PATCH] [RAMEN9610-12421][COMMON][MODAP-19520] Add skb free when skb is empty Change-Id: Idfbc4f1b507855d94c35e503b32640f5b0fd6a62 Signed-off-by: Jiyoung Jeong --- drivers/misc/modem_if/include/exynos_ipc.h | 3 ++- drivers/misc/modem_if/modem_io_device.c | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/misc/modem_if/include/exynos_ipc.h b/drivers/misc/modem_if/include/exynos_ipc.h index 2bbfa30eaa8e..70b7378e57d5 100644 --- a/drivers/misc/modem_if/include/exynos_ipc.h +++ b/drivers/misc/modem_if/include/exynos_ipc.h @@ -91,6 +91,7 @@ enum exynos_ch_id { EXYNOS_CH_ID_DUMP = 242, EXYNOS_CH_ID_FMT_0 = 245, /*umts_ipc0*/ + EXYNOS_CH_ID_FMT_1 = 246, /*umts_ipc1*/ EXYNOS_CH_ID_MAX = 255, EXYNOS_CH_ID_FLOW_CTRL = 255 }; @@ -206,7 +207,7 @@ static inline unsigned int exynos_get_frame_len(u8 *frm) static inline bool exynos_fmt_ch(u8 ch) { - return (ch == EXYNOS_CH_ID_FMT_0) ? true : false; + return (ch == EXYNOS_CH_ID_FMT_0 || ch == EXYNOS_CH_ID_FMT_1) ? true : false; } static inline bool exynos_rfs_ch(u8 ch) diff --git a/drivers/misc/modem_if/modem_io_device.c b/drivers/misc/modem_if/modem_io_device.c index 1bf360d7bd55..f7f5e6be11a2 100644 --- a/drivers/misc/modem_if/modem_io_device.c +++ b/drivers/misc/modem_if/modem_io_device.c @@ -264,12 +264,12 @@ static int gather_multi_frame(struct exynos_link_header *hdr, while (!skb_queue_empty(multi_q)) { skb_tmp = skb_dequeue(multi_q); memcpy(skb_put(skb_new, skb_tmp->len), skb_tmp->data, skb_tmp->len); + dev_kfree_skb_any(skb_tmp); } skb_trim(skb_new, skb_new->len); skb_queue_tail(rxq, skb_new); - skb_queue_purge(multi_q); skb_queue_head_init(multi_q); wake_up(&iod->wq); -- 2.20.1