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