Messages in this thread Patch in this message | | | Date | Fri, 21 Dec 2007 12:00:00 -0800 | From | Andrew Morton <> | Subject | Re: OOPS: 2.6.24-rc5-mm1 -- EIP is at r_show+0x2a/0x70 -- (triggered by "cat /proc/iomem" AFTER suspend-to-disk/resume) |
| |
On Fri, 21 Dec 2007 11:06:49 -0500 "Miles Lane" <miles.lane@gmail.com> wrote:
> > > > > > How do I determine what comes next? > > > > > > > By comparing it with the /proc/iomem from prior to suspending the machine. > > > > The offending information seems to be "90000000-90000fff : Intel Flush Page"
ah-hah. git-agpgart.patch
> I hope this helps,
It does, thanks.
Dave, a `cat /proc/iomem' crashes after a suspend/resume cycle when it reaches the intel_private.ifp_resource record.
intel_i915_configure() is called on each resume and it calls intel_i9xx_setup_flush() which zeroes out the already-registered `struct resource', causing core kernel to oops over a deref of parent/sibling/child.
Probably this:
--- a/drivers/char/agp/intel-agp.c~a +++ a/drivers/char/agp/intel-agp.c @@ -883,8 +883,6 @@ static void intel_i965_g33_setup_chipset static void intel_i9xx_setup_flush(void) { /* setup a resource for this object */ - memset(&intel_private.ifp_resource, 0, sizeof(intel_private.ifp_resource)); - intel_private.ifp_resource.name = "Intel Flush Page"; intel_private.ifp_resource.flags = IORESOURCE_MEM; _
will be enough to prevent the crash, but I suspect a bit more than that will be needed.
| |