
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@linux.intel.com wrote:
From: Ville Syrjälä ville.syrjala@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