Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757050AbXLUUAl (ORCPT ); Fri, 21 Dec 2007 15:00:41 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753848AbXLUUAe (ORCPT ); Fri, 21 Dec 2007 15:00:34 -0500 Received: from smtp2.linux-foundation.org ([207.189.120.14]:39248 "EHLO smtp2.linux-foundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753497AbXLUUAd (ORCPT ); Fri, 21 Dec 2007 15:00:33 -0500 Date: Fri, 21 Dec 2007 12:00:00 -0800 From: Andrew Morton To: "Miles Lane" Cc: LKML , "Christoph Lameter" , "Pavel Machek" , linux-pm@lists.linux-foundation.org, Dave Airlie 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) Message-Id: <20071221120000.b319b735.akpm@linux-foundation.org> In-Reply-To: References: <4769F409.6030300@gmail.com> <4769FF37.5060308@gmail.com> <476A703B.50804@gmail.com> <20071220093206.22f319b0.akpm@linux-foundation.org> <20071220222913.92a2c19f.akpm@linux-foundation.org> X-Mailer: Sylpheed 2.4.1 (GTK+ 2.8.17; x86_64-unknown-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1466 Lines: 49 On Fri, 21 Dec 2007 11:06:49 -0500 "Miles Lane" 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. -- 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/