lkml.org 
[lkml]   [2003]   [May]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] fix oops on resume from apm bios initiated suspend
Hi!

> Didn't know if you caught this one, but it fixes it for me and others
> who responded on the list.
>
> mm is NULL for kernel threads without their own context. active_mm is
> maintained the one we lazly switch from.
>
> Without this patch, apm bios initiated suspend events (eg panel close)
> cause an oops on resume in the LDT restore, killing kapmd, which causes
> further events to not be polled.

Ouch, okay, this looks good. Andrew please apply.

[I guess this is trivial enough for trivial patch monkey if andrew
does not want to take it...]
Pavel

> ===== arch/i386/kernel/suspend.c 1.16 vs edited =====
> --- 1.16/arch/i386/kernel/suspend.c Sat May 17 16:09:37 2003
> +++ edited/arch/i386/kernel/suspend.c Sat May 24 05:00:02 2003
> @@ -114,7 +114,7 @@
> cpu_gdt_table[cpu][GDT_ENTRY_TSS].b &= 0xfffffdff;
>
> load_TR_desc(); /* This does ltr */
> - load_LDT(&current->mm->context); /* This does lldt */
> + load_LDT(&current->active_mm->context); /* This does lldt */
>
> /*
> * Now maybe reload the debug registers

--
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]
-
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/

\
 
 \ /
  Last update: 2005-03-22 13:35    [W:0.837 / U:0.584 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site