Re: [PATCH RFC v2 3/7] ASoC: hdmi-codec: Add hdmi-codec for external HDMI-encoders

2015-08-17 Thread Jyri Sarha

On 08/14/15 22:25, Mark Brown wrote:

On Tue, May 26, 2015 at 09:59:07PM +0300, Jyri Sarha wrote:


+
+   mutex_lock(hcp-current_stream_lock);
+   if (hcp-current_stream  hcp-current_stream-runtime 
+   snd_pcm_running(hcp-current_stream)) {
+   dev_info(dev, HDMI audio playback aborted\n);


Does this really need to be dev_info()?



No, I'll change that to debug level.


+   if (hcp-hcd.ops-get_eld) {
+   hcp-eld = hcp-hcd.ops-get_eld(hcp-hcd.dev);
+
+   /* Call snd_pcm_hw_constraint_eld here */
+   }


...


+   dev_dbg(dai-dev, %s()\n, __func__);
+
+   mutex_lock(hcp-current_stream_lock);
+   BUG_ON(hcp-current_stream != substream);
+   hcp-current_stream = NULL;
+   mutex_unlock(hcp-current_stream_lock);
+
+   hcp-hcd.ops-audio_shutdown(hcp-hcd.dev);


Shouldn't the callback be in or before the lock?  Otherwise we could
potentially race with starting a new stream.



Yes, it should be before it. I'll fix that.

If it is inside, there is a possible deadlock warning (atleast in the 
similar place in omap-hdmi-audio there was) if those warnings are turned 
on and there is another lock that is taken in the video side callbacks.


Thanks,
Jyri
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH RFC v2 3/7] ASoC: hdmi-codec: Add hdmi-codec for external HDMI-encoders

2015-08-14 Thread Mark Brown
On Tue, May 26, 2015 at 09:59:07PM +0300, Jyri Sarha wrote:

 +
 + mutex_lock(hcp-current_stream_lock);
 + if (hcp-current_stream  hcp-current_stream-runtime 
 + snd_pcm_running(hcp-current_stream)) {
 + dev_info(dev, HDMI audio playback aborted\n);

Does this really need to be dev_info()?

 + if (hcp-hcd.ops-get_eld) {
 + hcp-eld = hcp-hcd.ops-get_eld(hcp-hcd.dev);
 +
 + /* Call snd_pcm_hw_constraint_eld here */
 + }

...

 + dev_dbg(dai-dev, %s()\n, __func__);
 +
 + mutex_lock(hcp-current_stream_lock);
 + BUG_ON(hcp-current_stream != substream);
 + hcp-current_stream = NULL;
 + mutex_unlock(hcp-current_stream_lock);
 +
 + hcp-hcd.ops-audio_shutdown(hcp-hcd.dev);

Shouldn't the callback be in or before the lock?  Otherwise we could
potentially race with starting a new stream.


signature.asc
Description: Digital signature