Re: [Alsa-devel] Reproducible deadlock w. alsa/maestro3 when sleeping (ACPI,) 2.6.0-test1

From: P. Christeas (p_christ@hol.gr)
Date: Wed Jul 16 2003 - 09:18:50 EST


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