From 7770ea4a7c610b8d69b057aaa25a93b7453dc7a0 Mon Sep 17 00:00:00 2001 From: Mohammed Javid Date: Wed, 20 Jun 2018 11:26:57 +0530 Subject: [PATCH] msm: ipa: Fix unlock spinlock in failed condition 'Commit id I427374ef44 ("msm: ipa: Fix race condition head_desc_list variable access")' broke unlock spinlock in failed scenarios. Added changes to fix the issue. Change-Id: I0f7dddfa7a583a8ebd8c1e6a610ab204726d5bc1 Acked-by: Ashok Vuyyuru Signed-off-by: Mohammed Javid --- drivers/platform/msm/ipa/ipa_v2/ipa_dp.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/platform/msm/ipa/ipa_v2/ipa_dp.c b/drivers/platform/msm/ipa/ipa_v2/ipa_dp.c index 66c5366ebde3..e470183fc3b5 100644 --- a/drivers/platform/msm/ipa/ipa_v2/ipa_dp.c +++ b/drivers/platform/msm/ipa/ipa_v2/ipa_dp.c @@ -2985,6 +2985,7 @@ static void ipa_wq_rx_common(struct ipa_sys_context *sys, u32 size) spin_lock_bh(&sys->spinlock); if (unlikely(list_empty(&sys->head_desc_list))) { WARN_ON(1); + spin_unlock_bh(&sys->spinlock); return; } rx_pkt_expected = list_first_entry(&sys->head_desc_list, @@ -3016,6 +3017,7 @@ static void ipa_wlan_wq_rx_common(struct ipa_sys_context *sys, u32 size) spin_lock_bh(&sys->spinlock); if (unlikely(list_empty(&sys->head_desc_list))) { WARN_ON(1); + spin_unlock_bh(&sys->spinlock); return; } rx_pkt_expected = list_first_entry(&sys->head_desc_list, -- 2.11.0