diff options
author | Utkarsh Saxena <usaxena@codeaurora.org> | 2017-03-13 14:58:40 +0530 |
---|---|---|
committer | Utkarsh Saxena <usaxena@codeaurora.org> | 2017-03-13 14:58:40 +0530 |
commit | 7e5e33b416b3a995f88fead3d9a32e178382a7e0 (patch) | |
tree | 0fce29c962ffad0ab07c567c6ee2d2eded7980b4 | |
parent | 51740526b9b90ef772ba2c3c6b288f0d1688bb10 (diff) |
msm: ipa: Add spinlock to avoid deleting already deleted list
There is a chance of deleting, already deleted list
in ipa_cleanup_wlan_rx_common_cache API.
Protect the wlan_comm_desc_list,
with the spinlock to avoid this deletion.
Change-Id: Ia05d47d7b54540eff6ef20f86dee410152457caa
Acked-by: Mohammed Javid <mjavid@qti.qualcomm.com>
Signed-off-by: Utkarsh Saxena <usaxena@codeaurora.org>
-rw-r--r-- | drivers/platform/msm/ipa/ipa_v2/ipa_dp.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/platform/msm/ipa/ipa_v2/ipa_dp.c b/drivers/platform/msm/ipa/ipa_v2/ipa_dp.c index a2665c9e9688..25364e8efa38 100644 --- a/drivers/platform/msm/ipa/ipa_v2/ipa_dp.c +++ b/drivers/platform/msm/ipa/ipa_v2/ipa_dp.c @@ -1974,6 +1974,8 @@ static void ipa_cleanup_wlan_rx_common_cache(void) struct ipa_rx_pkt_wrapper *rx_pkt; struct ipa_rx_pkt_wrapper *tmp; + spin_lock_bh(&ipa_ctx->wc_memb.wlan_spinlock); + list_for_each_entry_safe(rx_pkt, tmp, &ipa_ctx->wc_memb.wlan_comm_desc_list, link) { list_del(&rx_pkt->link); @@ -1994,6 +1996,8 @@ static void ipa_cleanup_wlan_rx_common_cache(void) IPAERR("wlan comm buff total cnt: %d\n", ipa_ctx->wc_memb.wlan_comm_total_cnt); + spin_unlock_bh(&ipa_ctx->wc_memb.wlan_spinlock); + } static void ipa_alloc_wlan_rx_common_cache(u32 size) |