Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7afcfe46 authored by Chaitanya Pratapa's avatar Chaitanya Pratapa Committed by Gerrit - the friendly Code Review server
Browse files

msm: ipa3: Fix to recycle buffers



Make a change to protect cleaning up of recycle buffers
as there can be a race between clean up and recycling.

Change-Id: I7cc4f40ea87fb0a2b9ce76ff24b47c5d8a02d94f
Signed-off-by: default avatarChaitanya Pratapa <cpratapa@codeaurora.org>
parent 8ca6d749
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2399,6 +2399,7 @@ static void ipa3_cleanup_rx(struct ipa3_sys_context *sys)
	 * provided to gsi
	 */

	spin_lock_bh(&sys->spinlock);
	list_for_each_entry_safe(rx_pkt, r,
				 &sys->rcycl_list, link) {
		list_del(&rx_pkt->link);
@@ -2407,6 +2408,7 @@ static void ipa3_cleanup_rx(struct ipa3_sys_context *sys)
		sys->free_skb(rx_pkt->data.skb);
		kmem_cache_free(ipa3_ctx->rx_pkt_wrapper_cache, rx_pkt);
	}
	spin_unlock_bh(&sys->spinlock);

	if (sys->repl) {
		head = atomic_read(&sys->repl->head_idx);