[alsa-devel] lock-up when loading desktop

Takashi Iwai tiwai at suse.de
Mon Oct 13 14:40:15 CEST 2014


At Mon, 13 Oct 2014 22:06:34 +1030,
Arthur Marsh wrote:
> 
> 
> 
> Takashi Iwai wrote, on 13/10/14 16:30:
> > At Mon, 13 Oct 2014 11:30:40 +1030,
> > Arthur Marsh wrote:
> 
> > So you have only emu10k1 as the sound card?  At best, give
> > alsa-info.sh output.  I've tested emu10k1 on my machine for long time,
> > so it's strange that such a problem happens.
> >
> > Unfortunately, I'm traveling in the whole this week, so cannot debug
> > so much locally with the machine.
> >
> > In anyway, please make sure that the sound driver is really the
> > culprit.  For example, add the sound driver modules to blacklist, boot
> > and confirm that the boot works.  Then remove the blacklist again and
> > reconfirm that the boot hangs.
> >
> > Once when you confirm it, try to revert two commits:
> > 7af142f752116e86adbe2073f2922d8265a77709
> > 257f8cce5d40b811d229ed71602882baa0012808
> >
> > Let me know whether this makes booting again.
> >
> >
> > thanks,
> >
> > Takashi
> >
> 
> OK, steps I took:
> 
> Obtain alsa-info.sh output from my working 3.17.0 kernel set-up;
> 
> Boot into 3.17.0+ and attempt to run alsa-info.sh - dumps occurred as 
> shown in attached photos, even corrupted the machine's BIOS;
> 
> Attempt to blacklist sound drivers, ran 3.17.0+ without lock-up, 
> obtained alsa-info.sh output;
> 
> Applied 2 reversions listed above to current 3.17.0+ Linus git head, had 
> to remove a few other sound cards from the menuconfig to let the kernel 
> build, removed blacklisting and rebooted into kernel with reversions 
> applied.
> 
> Ran alsa-info.sh and received dmesg output as shown below, was able to 
> bring up the desktop session without lock-up.

OK, then could you check whether reverting only the last one (of two)
does *NOT* fix the issue?  I think it shouldn't, but let us confirm.

The alsa-info.sh shows the lockdep messages.  I assume that it's seen
even before 3.17+?

Last but not least, please check whether nonatomic flag is set wrongly
by some reason like the patch below.  (Check the kernel message after
boot or try to playback some PCM).


Takashi

---
diff --git a/sound/core/pcm_native.c b/sound/core/pcm_native.c
index 85fe1a216225..9c7cbd1b839e 100644
--- a/sound/core/pcm_native.c
+++ b/sound/core/pcm_native.c
@@ -2275,6 +2275,9 @@ static int snd_pcm_open(struct file *file, struct snd_pcm *pcm, int stream)
 	int err;
 	wait_queue_t wait;
 
+	if (WARN_ON(pcm->nonatomic))
+		return -EINVAL;
+
 	if (pcm == NULL) {
 		err = -ENODEV;
 		goto __error1;



More information about the Alsa-devel mailing list