On Thu, Apr 13, 2023 at 10:40:41PM +0000, Kelvin.Cao@xxxxxxxxxxxxx wrote: > > > Why is the lock needed while reading the status and waiting > > > for it with long delays? > There's (low) chance of access to the same ctrl register from other > paths which might change the value of status in an unexpected way. It > also prevents the hardware operation from being interrupted until it > indicates it has finished by a bit set in the status register. Well, the lock is obviously required to protecte the reads to the register. But why do you need to hold the lock over the reads and the delay?