Question about DPCM locking

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Takashi

May I ask about this patch ?

	ASoC: soc-pcm: Fix and cleanup DPCM locking
	b7898396f4bbe160f546d0c5e9fa17cca9a7d153

Q1.

It exchanges many function parameters

	- func(substream, xxx)
	+ func(rtd, substream, xxx)
	       ^^^^

I guess the purpose is it want to call snd_soc_dpcm_mutex_assert_held()
inside the func ? But it looks very verbose.
we can do like this, but am I misunderstanding ?

	func(substream, xxx) {
		struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream);

		snd_soc_dpcm_mutex_assert_held(rtd);

		...
	}

Q2.

It added new __soc_pcm_close().
But soc_pcm_close() is using soc_pcm_clean() instead of __soc_pcm_close().
Is this just a mistake ?

	static int soc_pcm_close(struct snd_pcm_substream *substream)
	{
		struct snd_soc_pcm_runtime *rtd = asoc_substream_to_rtd(substream);

		snd_soc_dpcm_mutex_lock(rtd);
-		soc_pcm_clean(substream, 0);
+		__soc_pcm_close(substream);
		snd_soc_dpcm_mutex_unlock(rtd);
		return 0;
	}


Thank you for your help !!

Best regards
---
Kuninori Morimoto



[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Pulse Audio]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux