[alsa-devel] [PATCH] ASoC: sst_platform: Fix lock acquring

Lu Guanqun guanqun.lu at intel.com
Sat Apr 9 12:22:06 CEST 2011


On Sat, Apr 09, 2011 at 12:51:07PM +0800, Koul, Vinod wrote:
> On Fri, Apr 08, 2011 at 01:11:48PM +0530, Lu Guanqun wrote:
> > On Fri, Apr 08, 2011 at 03:38:48PM +0800, Lu Guanqun wrote:
> > > Fix the possible dead lock shown below:
> > >
> > > spin_lock
> > > sst_get_stream_status
> > > sst_period_elapsed
> > > intel_sst_interrupt
> > > handle_IRQ_event
> > > handle_fasteoi_irq
> > > do_IRQ
> > > common_interrupt
> > > spin_lock
> > > sst_set_stream_status
> > > sst_platform_pcm_trigger
> > >
> > > Signed-off-by: Lu Guanqun <guanqun.lu at intel.com>
> Sorry, I am little unsure about this yet.
> Can you send more details of the deadlock you see.
> Which scenario it is hit, would help to send the debug trace :)

Hi Vinod,

I don't get the actual debug trace, so I have to manually reveal the
possible deadlock...

As sst_set_stream_status could be called both in interrupt context and
process context, a simple spin_lock can't protect the mutal exclusion
properly. I'm afraid spin_lock_irqsave is better for this use case here.

How do you think?

> 
> ~Vinod
> 

-- 
guanqun


More information about the Alsa-devel mailing list