Messages in this thread | | | Date | Thu, 27 Jul 2023 09:31:12 -0600 | From | Logan Gunthorpe <> | Subject | Re: [PATCH] dmaengine: plx_dma: Fix potential deadlock on &plxdev->ring_lock |
| |
On 7/27/23 00:48, Chengfeng Ye wrote: > Hi Logan and Christophe, > > Thanks much for the reply and reminder, and yes, spin_lock_bh() should > be better. > > When I wrote the patch I thought the spin_lock_bh() cannot be nested, > and afraid that if some outside callers called .dma_tx_status() callback > with softirq already disable, then spin_unlock_bh() would unintentionally > re-enable softirq(). spin_lock_irqsave() is always safer in general thus I > used it. > > But I just check the document [1] about these API and found that _bh() > can be nested. Then use spin_lock_bh() should be better due to > performance concern. > > >> So perhaps we should just revert 1d05a0bdb420? > Then for this one I think revert 1d05a0bdb420 should be enough. May I > ask to revert that patch, should I do anything further? (like sending > a new patch).
Yes, I think you can just send a revert patch explaining the reasoning further in a commit message.
Thanks,
Logan
| |