From owner-freebsd-stable@FreeBSD.ORG Tue May 3 15:47:42 2005 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 422A616A4CE; Tue, 3 May 2005 15:47:42 +0000 (GMT) Received: from anuket.mj.niksun.com (gwnew.niksun.com [65.115.46.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 821CD43D6D; Tue, 3 May 2005 15:47:39 +0000 (GMT) (envelope-from ath@niksun.com) Received: from stiegl.mj.niksun.com (stiegl.mj.niksun.com [10.70.0.231]) by anuket.mj.niksun.com (8.13.1/8.13.1) with ESMTP id j43FmSvw091231; Tue, 3 May 2005 11:48:28 -0400 (EDT) (envelope-from ath@niksun.com) Received: from stiegl.mj.niksun.com (localhost [127.0.0.1]) by stiegl.mj.niksun.com (Postfix) with ESMTP id 0888D54DE; Tue, 3 May 2005 11:47:33 -0400 (EDT) Date: Tue, 3 May 2005 11:47:32 -0400 From: Andrew Heybey To: freebsd-stable@freebsd.org Message-ID: <20050503114732.65bce180@stiegl.mj.niksun.com> X-Mailer: Sylpheed-Claws 1.0.4 (GTK+ 1.2.10; i386-portbld-freebsd4.11) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV version 0.83, clamav-milter version 0.83 on anuket.mj.niksun.com X-Virus-Status: Clean cc: sos@freebsd.org Subject: ATA mkIII suspend problem X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 May 2005 15:47:42 -0000 I just tried RELENG_5 as of last week and the latest (April 13) ATA mkIII patches from http://people.freebsd.org/~sos/ATA/ on my laptop. Unfortunately, it breaks suspend-to-RAM (S3). History: I first tried RELENG_5 on the laptop (a Toshiba Tecra M2V) in January and suspend did not work (the laptop hung after reinitializing the ATA controller). Then I tried the first release of ATA mkIII. That first version of the new ATA code made suspend work, and I was happy. Last week, I tried upgrading to the latest RELENG_5 and the newest ATA mkIII code, and now after suspending the kernel panics when reiniting the ATA device(s) in ata-all.c:ata_reinit(), about line 217: /* reinit the children and delete any that fails */ if (!device_get_children(dev, &children, &nchildren)) { mtx_lock(&Giant); /* newbus suckage it needs Giant */ for (i = 0; i < nchildren; i++) { if (children[i] && device_is_attached(children[i])) if (ATA_REINIT(children[i])) { if (ch->running->dev == children[i]) { ^^^^^^^^^^^^^^^^ device_printf(ch->running->dev, "FAILURE - device detached\n"); ch->running->dev = NULL; ch->running = NULL; } device_delete_child(dev, children[i]); } } free(children, M_TEMP); mtx_unlock(&Giant); /* newbus suckage dealt with, release Giant */ } The problem is that ch->running is NULL at this point. Any suggestions on how to further debug or fix? thanks, andrew