On Tue, Jan 18, 2011 at 01:35:37PM +0200, Peter Ujfalusi wrote:
Hmm, the patch looks quite similar to the patch I've sent back in November: http://mailman.alsa-project.org/pipermail/alsa-devel/2010-November/033362.ht...
My thought exactly.
On 01/18/11 12:39, ext Mark Brown wrote:
This needs a bit more analysis - why are we getting multiple simultaneous calls to dapm_power_widgets() and is that itself safe? The ASoC locking model has always been to have a big lock around the entire card rather than to lock subcomponents, and for example this isn't going to make sure we're consistent with register map accesses from other parts of the code.
As far as I have traced back than, it was due to the use of dapm_sync in machine drivers. For me it looked that all other paths were satisfactory protected. In my case the use of SOC_DAPM_PIN_SWITCH() instead of the custom call fixed the race (since this will take a card mutex, AFAIK).
I *suspect* that we're in a similar case and either the locking has been broken by the multi-component stuff or there's other cases that need protection, probably the jack detection code.
PS: I might received this mail unintentionally, since I was not on the TO/CC, and alsa-devel neither.
Should alsa-devel be on the CC?
Yes, I bounced on the second copy - Misael had sent two copies of the mail, one omitting the CC, and I'd replied to the first one before I saw the second.