[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <s5hzlkoh6uu.wl%tiwai@suse.de>
Date: Tue, 28 Oct 2008 20:12:09 +0100
From: Takashi Iwai <tiwai@...e.de>
To: "Luiz Fernando N. Capitulino" <lcapitulino@...driva.com.br>
Cc: linux-kernel@...r.kernel.org, alsa-devel@...a-project.org,
herton@...driva.com.br
Subject: Re: snd-hda-intel prevents machine to power off
At Tue, 28 Oct 2008 16:44:33 -0200,
Luiz Fernando N. Capitulino wrote:
>
> Em Tue, 28 Oct 2008 17:51:30 +0100
> Takashi Iwai <tiwai@...e.de> escreveu:
>
> | At Tue, 28 Oct 2008 14:19:16 -0200,
> | Luiz Fernando N. Capitulino wrote:
> | >
> | > Em Tue, 28 Oct 2008 17:07:42 +0100
> | > Takashi Iwai <tiwai@...e.de> escreveu:
> | >
> | > | > Hi Takashi,
> | > | >
> | > | > If I have some process with the sound device opened in my eeepc
> | > | > (say KDE's kmix) and try to power off the machine, for example with:
> | > | >
> | > | > # echo o > /proc/sysrq-trigger
> | > | >
> | > | > The machine will not power off.
> | > |
> | > | At which point does it stop?
> | > | What shows alt-sysrq-t (or w) output?
> | >
> | > I'm wondering how to get that kind of output because everything
> | > is disabled at that point (display inclusive).
> |
> | OK, then it's hard to see.
> | A good news is that it goes at least fairly end point, thus likely no
> | hanging task, etc.
> |
> |
> | > | > But it does work if I remove the snd-hda-intel module before issuing
> | > | > the echo above.
> | > | >
> | > | > This problem seems to be pretty popular among distros, I could find
> | > | > it reported for Mandriva, Ubuntu and Fedora.
> | > |
> | > | Hmm, I haven't heard of unfixed issues.
> | >
> | > Well, these are the tickets I've found:
> | >
> | > https://bugzilla.redhat.com/show_bug.cgi?id=444115
> | > https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.22/+bug/126140
> | > https://qa.mandriva.com/show_bug.cgi?id=44752
> |
> | Looking through the comments that the power-saving helps, the problem
> | may disappear even without disabling the pci device. The power-saving
> | doesn't involve with pci_disable_device() or changing the power-state
> | of the controler. So, at least, the problem is either in the codec
> | or the controller setup.
> |
> | Suppose you already use the power-saving and it solves the shutdown
> | problem, could you set power_save_controller=0 option for
> | snd-hda-intel, and check whether the shutdown still works or not?
> | If the shutdown doesn't work with this option, it means that
> | azx_stop_chip() is what would be needed.
>
> Yes, power_save_controller=0 doesn't work while the power-saving
> one works.
OK, then could you check which call in azx_stop_chip() is critical?
You can comment out each and check the difference.
> Where should I put a call to azx_stop_ship()? I'm not an alsa
> hacker. :)
This is the problem. If it's a fast call like azx_int_clear() or
azx_int_enable(), it can be relatively easily done at each time.
But, it's like freeing memories, it shouldn't be done at each
operation.
Takashi
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists