On Mon, Feb 17, 2014 at 11:20:26AM -0800, Dmitry Torokhov wrote:
HI Charles,
On Mon, Feb 17, 2014 at 04:51:29PM +0000, Charles Keepax wrote:
snd_soc_dapm_sync takes the dapm_mutex internally, but we currently take it externally as well. This patch fixes this.
Hmm, from the first glance this needs to go into current release, however it seems that it has been broken by a73fb2df01866b772a48fab93401fe3edbe0b38d 2 years ago so nobody cares...
Looking at the series I am not sure that this is right direction. You actually do want unlocked versions of snd_soc_dapm_* functions so that callers can take dapm mutex and then perform sequence of operations. The currect callers that were taking the mutex should probbaly be changed so that they do not drop it until they called unlocked version of snd_soc_dapm_sync().
Having looked over this again I would prefer to go with the current fix. It means the fix can be sent to the stable trees and the haptics driver has no requirement for multiple pin updates to be done atomically, so there is not a huge amount to be gained from bundling things under an external lock.
Thanks, Charles