On Thu, Dec 23, 2021 at 11:56:08AM +0800, Yang Yingliang wrote: > > On 2021/12/21 22:28, Christoph Hellwig wrote: >> On Tue, Dec 21, 2021 at 07:37:06PM +0800, Yang Yingliang wrote: >>> A spin lock is taken here so we should use GFP_ATOMIC. >>> >>> Fixes: efac162a4e4d ("scsi: efct: Don't pass GFP_DMA to dma_alloc_coherent()") >> No, it does not fix that commit. The driver did sleeping allocations >> even before the commit. >> >> But wher is "here"? Can we look into not holding that lock over an >> allocation if it is preferable? If not we should at least pass down >> the gfp_flags so that only the caller(s) that can't sleep pass GFP_ATOMIC. > > According the comment of els_ios_lock, it's used to protect els ios list, I > think we > > can move down the spin lock like this: This looks sensible to me. Please submit it to the maintainer as a proper patch.