Linux MHI Development
 help / color / mirror / Atom feed
* [PATCH v5 0/2] bus: mhi: host: Add lock to avoid race when ringing channel DB
@ 2023-12-11  6:42 Qiang Yu
  2023-12-11  6:42 ` [PATCH v5 1/2] bus: mhi: host: Add spinlock to protect WP access when queueing TREs Qiang Yu
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Qiang Yu @ 2023-12-11  6:42 UTC (permalink / raw)
  To: mani, quic_jhugo
  Cc: mhi, linux-arm-msm, linux-kernel, quic_cang, quic_mrana, Qiang Yu


1. We need a write lock in mhi_gen_tre otherwise there is race of the WP
used for ringing channel DB between mhi_queue and M0 transition.
2. We can not invoke local_bh_enable() when irqs are disabled, so move
read_lock_irqsave() under the mhi_gen_tre() since we add write_lock_bh() in
mhi_gen_tre().
3. Unlock xfer_cb to prevent potential lockup

v1 -> v2:
Added write_unlock_bh(&mhi_chan->lock) in mhi_gen_tre() before return
because of error process.

v2 -> v3:
1. split protecting WP and unlocking xfer_cb into two patches
2. Add a new patch to stop processing buffer and eventof a disabled or
stopped channel.

v3 -> v4:
1. Modify commit message
2. Add unlock operation before return error

v4 -> v5:
1. Squash "protecting WP" and "Take irqsave lock" into one patch
2. Drop patch 3/4 of patch v4

Bhaumik Bhatt (1):
  bus: mhi: host: Add spinlock to protect WP access when queueing TREs

Qiang Yu (1):
  bus: mhi: host: Drop chan lock before queuing buffers

 drivers/bus/mhi/host/main.c | 26 +++++++++++++++++---------
 1 file changed, 17 insertions(+), 9 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-12-16  5:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-12-11  6:42 [PATCH v5 0/2] bus: mhi: host: Add lock to avoid race when ringing channel DB Qiang Yu
2023-12-11  6:42 ` [PATCH v5 1/2] bus: mhi: host: Add spinlock to protect WP access when queueing TREs Qiang Yu
2023-12-15 18:23   ` Jeffrey Hugo
2023-12-16  5:15   ` Manivannan Sadhasivam
2023-12-11  6:42 ` [PATCH v5 2/2] bus: mhi: host: Drop chan lock before queuing buffers Qiang Yu
2023-12-15 18:23   ` Jeffrey Hugo
2023-12-16  5:19   ` Manivannan Sadhasivam
2023-12-16  5:21 ` [PATCH v5 0/2] bus: mhi: host: Add lock to avoid race when ringing channel DB Manivannan Sadhasivam

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox