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

Commit 80f5a649 authored by Bhaumik Bhatt's avatar Bhaumik Bhatt
Browse files

mhi: core: ensure non-zero session or sequence ID values



While writing any sequence or session identifiers, it is
possible that the host could write a zero value, whereas only
non-zero values are supported writes to those registers. Ensure
that host does not write a non-zero value for those cases.

Change-Id: I33248a0aa43321c85a107e394f953774140dec50
Signed-off-by: default avatarBhaumik Bhatt <bbhatt@codeaurora.org>
parent 3eb9c77d
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -209,6 +209,9 @@ static int mhi_fw_load_amss(struct mhi_controller *mhi_cntrl,
			mhi_buf->len);

	mhi_cntrl->sequence_id = prandom_u32() & BHIE_TXVECSTATUS_SEQNUM_BMSK;
	if (unlikely(!mhi_cntrl->sequence_id))
		mhi_cntrl->sequence_id = 1;

	mhi_write_reg_field(mhi_cntrl, base, BHIE_TXVECDB_OFFS,
			    BHIE_TXVECDB_SEQNUM_BMSK, BHIE_TXVECDB_SEQNUM_SHFT,
			    mhi_cntrl->sequence_id);
@@ -271,6 +274,9 @@ static int mhi_fw_load_sbl(struct mhi_controller *mhi_cntrl,
		      lower_32_bits(dma_addr));
	mhi_cntrl->write_reg(mhi_cntrl, base, BHI_IMGSIZE, size);
	mhi_cntrl->session_id = prandom_u32() & BHI_TXDB_SEQNUM_BMSK;
	if (unlikely(!mhi_cntrl->session_id))
		mhi_cntrl->session_id = 1;

	mhi_cntrl->write_reg(mhi_cntrl, base, BHI_IMGTXDB,
			mhi_cntrl->session_id);
	read_unlock_bh(pm_lock);