Messages in this thread | | | Date | Thu, 13 Mar 2008 15:32:48 -0700 | From | Andrew Morton <> | Subject | Re: fix aperture vs. suspend problem |
| |
On Thu, 13 Mar 2008 11:05:31 +0100 Pavel Machek <pavel@ucw.cz> wrote:
> > aperture_64.c takes a piece of memory and makes it into iommu > window... but such window may not be saved by swsusp -- that leads to > oops during suspend. > > Signed-off-by: Pavel Machek <pavel@suse.cz> > > diff --git a/arch/x86/kernel/aperture_64.c b/arch/x86/kernel/aperture_64.c > index 608152a..88747f3 100644 > --- a/arch/x86/kernel/aperture_64.c > +++ b/arch/x86/kernel/aperture_64.c > @@ -18,6 +18,7 @@ #include <linux/pci_ids.h> > #include <linux/pci.h> > #include <linux/bitops.h> > #include <linux/ioport.h> > +#include <linux/suspend.h> > #include <asm/e820.h> > #include <asm/io.h> > #include <asm/gart.h> > @@ -76,6 +77,7 @@ static u32 __init allocate_aperture(void > printk(KERN_INFO "Mapping aperture over %d KB of RAM @ %lx\n", > aper_size >> 10, __pa(p)); > insert_aperture_resource((u32)__pa(p), aper_size); > + register_nosave_region((u32)__pa(p) >> PAGE_SHIFT, (u32)__pa(p+aper_size) >> PAGE_SHIFT); > > return (u32)__pa(p); > } >
This is also needed in 2.6.24, perhaps earlier?
| |