Takashi Iwai wrote:
> At Mon, 14 Jul 2003 19:17:22 +0300,
>
> P. Christeas <p_christ@hol.gr> wrote:
> > I have been experiencing some fully reproducible deadlock when waking
> > from sleep, using artsd over ALSA.
> > The scenario is:
> > I use ALSA, with the maestro3 device and everything else compiled as
> > modules. From userspace, I launch artsd, which uses its native ALSA
> > support to connect to /dev/pcmXXXXX .
> > I only have a custom script, which sleeps the machine by a 'echo 1>
> > /proc/acpi/sleep' . It does NOT stop alsa .
>
> could you check whether m3_suspend() and m3_resume() in
> sound/pci/maestro3.c are really called?
>
>
> Takashi
OK, I did that. I put two messages in both functions of the maestro3 driver.
I suspended/resumed the machine. Both functions had been called.
This time, I did NOT have 'artsd' (i.e. the client) loaded. What happened was
that the module was properly restored and I could load (and use) artsd even
after the resume.
That brings me to the first assumption/question I have made: is there
something wrong if we suspend two parts (one module and a userspace process),
while they inter-communicate through the /dev/* interface?
static void m3_suspend(m3_t *chip)
{
snd_card_t *card = chip->card;
int i, index;
snd_printk("m3 suspend");
if (chip->suspend_mem == NULL)
return;
if (card->power_state == SNDRV_CTL_POWER_D3hot)
return;
...
static void m3_resume(m3_t *chip)
{
snd_card_t *card = chip->card;
int i, index;
snd_printk("m3 resume");
if (chip->suspend_mem == NULL)
return;
...
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
This archive was generated by hypermail 2b29 : Wed Jul 23 2003 - 22:00:24 EST