On 2018-05-30 10:34:12 [+0100], John Garry wrote: > Sorry, but personally I don't see much value in this change. I think it's > better for safety to be consistent in how we lock & unlock the spinlock, > i.e. use irqsave variant (or similar). The lock should do irqsave() and unlock irqrestore(). This local_irqsave() + unlock() is not correct. > And even if we have audited the callers to know the irqstate when this > function is called, since sas_ata_qc_issue() is a callback for > ata_port_operations.qc_issue, then it should be documented that interrupts > should always be disabled for this callback. If the lock has been acquired without disabling the interrupts then it was already wrong. This is just duct tape and does not fix the problematic caller. Lockdep will yell. > All the best, > John Sebastian