Skip to contentSkip to conversation

_PTS call hangs system

DISCUSSION Andre Eisenbach 1 participant 1 message Sep 15, 2004 ACPI

lore
Share & tools
lore
#0 lore raw

Hey guys!

I've done some more debugging to figure out why my notebook won't shut down anymore. To recap, it works up to 2.8.6.1-mm3, but no kernel thereafter.

The following call in /drivers/acpi/hardware/hwsleep.c hangs:
status = acpi_evaluate_object (NULL, METHOD_NAME__PTS, &arg_list, NULL);

This is in acpi_enter_sleep_state_prep().
When I comment out that line, it continues on just fine and shuts off.

I'm very surprised by this, since a diff -ru between mm3 and mm4 brings up no changes in drivers/acpi at all. So I don't know why it works in mm3 and not mm4 (and above).

Also, I've put Debug statements in my DSDT in the _PTS function, but somehow they are not printed to the console (or dmesg), even so I have CONFIG_ACPI_DEBUG=y
CONFIG_PM_DEBUG=y
in my kernel config.
Somehow I had managed to get the DSDT debug strings onto the console once before, but I forgot how to do it. Any tips would be appreciated.

Belo is my DSDT code, method _PTS for reference.

I've downloaded the ACPI specs and will try to read up on what PTS is supposed to do. Maybe I'll come up with something.

Meanwhile, if you guys have any ideas, please let me know!

Thanks so much for your help!

Regards,
Andre

--- SNIPP ---

    Method (_PTS, 1, NotSerialized)
    {
        If (LEqual (Arg0, 0x01)) {}
        If (LEqual (Arg0, 0x03))
        {
            Store (0x01, \_SB.PCI0.ISA.EC0.WORE)
            Store (0x00, \_SB.PCI0.PMU.LLOW)
            Store (0x01, \_SB.PCI0.PMU.LHGH)
        }

        If (LEqual (Arg0, 0x04))
        {
            Store (0x01, \_SB.PCI0.ISA.EC0.S4FG)
            Store (0x00, \_SB.PCI0.ISA.EC0.WORE)
            \_SB.PCI0.ISA.HPSS (0x18, 0x00)
        }

        If (LEqual (Arg0, 0x05))
        {
            Store (0x00, \_SB.PCI0.ISA.EC0.WORE)
            If (\_SB.PCI0.ISA.WOLE)
            {
                Store (0x01, \_SB.PCI0.ISA.EC0.WOLE)
            }
            Else
            {
                Store (0x00, \_SB.PCI0.ISA.EC0.WOLE)
            }

            \_SB.PCI0.ISA.HPSS (0x02, 0x00)
            Sleep (0x07D0)
        }
    }