Re: 2.6.14-git4 suspend fails: kernel NULL pointer dereference

From: Patrizio Bassi
Date: Mon Nov 07 2005 - 13:04:14 EST


Pavel Machek ha scritto:

>Hi!
>
>
>
>>echo shutdown > /sys/power/disk
>>echo disk > /sys/power/state
>>
>>Unable to handle kernel NULL pointer dereference at virtual address 00000004
>> printing eip:
>>EIP: 0060:[<c0132a5e>] Not tainted VLI
>>EFLAGS: 00010286 (2.6.14-git4)
>>EIP is at enter_state+0xe/0x90
>>
>>
>
>It works for me, with pretty recent tree. But I see a potential
>problem there, you are not using ACPI, right?
>
>I think it is caused by this commit:
>
>commit eb9289eb20df6b54214c45ac7c6bf5179a149026
>tree dac51cecdd94e0c7273c990259ddd800057311b9
>parent 0245b3e787dc3267a915e1f56419e7e9c197e148
>author Shaohua Li <shaohua.li@xxxxxxxxx> Sun, 30 Oct 2005 15:00:01
>-0800
>committer Linus Torvalds <torvalds@xxxxxxxxxxx> Sun, 30 Oct 2005
>17:37:15 -0800
>
> [PATCH] introduce .valid callback for pm_ops
>
> Add pm_ops.valid callback, so only the available pm states show in
> /sys/power/state. And this also makes an earlier states error
>report at
> enter_state before we do actual suspend/resume.
>
>Try this patch.
>
> Pavel
>
>diff --git a/kernel/power/main.c b/kernel/power/main.c
>--- a/kernel/power/main.c
>+++ b/kernel/power/main.c
>@@ -167,7 +167,7 @@ static int enter_state(suspend_state_t s
> {
> int error;
>
>- if (pm_ops->valid && !pm_ops->valid(state))
>+ if (pm_ops && pm_ops->valid && !pm_ops->valid(state))
> return -ENODEV;
> if (down_trylock(&pm_sem))
> return -EBUSY;
>
>
>
>


i'm using ACPI.
i'òll try the patch and report asap.

Patrizio
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/