On 21-06-22, 17:56, Pierre-Louis Bossart wrote:
This patchset fixes the driver bind/unbind cases which are not well-supported today. I initially reported a race condition in March 2022 [1] and the more tests I ran the more timing assumptions crept to the surface.
With this patchset, I've been able to bind the drivers in any order, and when all dependencies were available the card is created/registered. Likewise I was able to remove codec drivers while the bus was still running. The initial suggestion to use device_lock()/unlock() led to system hangs in suspend-resume that I was unable to root-cause after weeks of tests, hence this patchset relies on a SoundWire-specific lock doesn't interfere with other core device locking.
Applied, thanks for this cleanup.