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

Commit 446bace1 authored by Subramanian Ananthanarayanan's avatar Subramanian Ananthanarayanan Committed by Gauri Joshi
Browse files

msm: mhi_dev: Use Ring event lock while sending write completion



Change involes usage of event ring mutex while sending write
channel completion events.

Change-Id: I3817e140551954a732e26d097d53176d573bf7f5
Signed-off-by: default avatarSubramanian Ananthanarayanan <skananth@codeaurora.org>
parent bf72f4d9
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1617,7 +1617,7 @@ int mhi_dev_send_event(struct mhi_dev *mhi, int evnt_ring,
		}
	}

	mutex_lock(&mhi->mhi_event_lock);
	mutex_lock(&ring->event_lock);
	/* add the ring element */
	mhi_dev_add_element(ring, el, NULL, 0);

@@ -1650,7 +1650,6 @@ int mhi_dev_send_event(struct mhi_dev *mhi, int evnt_ring,
	 */
	wmb();

	mutex_unlock(&mhi->mhi_event_lock);
	mhi_log(MHI_MSG_VERBOSE, "event sent:\n");
	mhi_log(MHI_MSG_VERBOSE, "evnt ptr : 0x%llx\n", el->evt_tr_comp.ptr);
	mhi_log(MHI_MSG_VERBOSE, "evnt len : 0x%x\n", el->evt_tr_comp.len);
@@ -1663,6 +1662,7 @@ int mhi_dev_send_event(struct mhi_dev *mhi, int evnt_ring,
	else
		rc = ep_pcie_trigger_msi(mhi_ctx->phandle, ctx->ev.msivec);

	mutex_unlock(&ring->event_lock);
	return rc;
}