[alsa-devel] [PATCH] ALSA: x86: Fix spinlock usage in the trigger callback

Takashi Iwai tiwai at suse.de
Thu Feb 16 18:56:34 CET 2017


On Thu, 16 Feb 2017 15:46:16 +0100,
Ville Syrjälä wrote:
> 
> On Wed, Feb 15, 2017 at 10:21:08PM +0100, Takashi Iwai wrote:
> > On Wed, 15 Feb 2017 20:15:50 +0100,
> > ville.syrjala at linux.intel.com wrote:
> > > 
> > > From: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > > 
> > > Simply doing 'xset dpms force off' while playback is active seems
> > > sufficient to anger lockdep [1]. And it's of course correct that it's
> > > not safe to use regular spin_lock() outside the irq handler when
> > > the irq handler also wants to acquire the same lock. I believe the
> > > trigger callback can get called from both irq and non-irq context,
> > > so we need to to use spin_lock_irqsave() & co. here.
> > 
> > No, it's just because I used snd_pcm_stop() wrongly.  A proper fix
> > patch is already in the queue I'm going to submit right now:
> >   [PATCH 2/8] ALSA: x86: Use snd_pcm_stop_xrun() for connection /
> >     disconnection paths
> 
> OK, cool. I'll have to try this again once I see that land somewhere.

FYI, I merged the branch now to for-next, so it should be included in
linux-next tomorrow.


thanks,

Takashi


More information about the Alsa-devel mailing list