Messages in this thread | | | Date | Wed, 28 May 2003 13:14:01 +0200 | From | Pavel Machek <> | Subject | Re: [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(¤t->mm->context); /* This does lldt */ > + load_LDT(¤t->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/
| |