All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.