From owner-freebsd-stable@FreeBSD.ORG Tue Oct 10 12:54:10 2006 Return-Path: X-Original-To: stable@freebsd.org 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 6AF0A16A407 for ; Tue, 10 Oct 2006 12:54:10 +0000 (UTC) (envelope-from wmoran@collaborativefusion.com) Received: from mx00.pub.collaborativefusion.com (mx00.pub.collaborativefusion.com [206.210.89.199]) by mx1.FreeBSD.org (Postfix) with ESMTP id D217643D55 for ; Tue, 10 Oct 2006 12:54:09 +0000 (GMT) (envelope-from wmoran@collaborativefusion.com) Received: from collaborativefusion.com (mx01.pub.collaborativefusion.com [206.210.89.201]) (TLS: TLSv1/SSLv3,256bits,AES256-SHA) by wingspan with esmtp; Tue, 10 Oct 2006 08:54:08 -0400 id 00056424.452B97F0.00015F2C Received: from Internal Mail-Server (206.210.89.202) by mx01 (envelope-from wmoran@collaborativefusion.com) with AES256-SHA encrypted SMTP; 10 Oct 2006 08:50:16 -0400 Date: Tue, 10 Oct 2006 08:54:07 -0400 From: Bill Moran To: Doug Ambrisko Message-Id: <20061010085407.a73f02a6.wmoran@collaborativefusion.com> In-Reply-To: <200610050516.k955Gw8b074361@ambrisko.com> References: <20061004192833.GK4945@poupinou.org> <200610050516.k955Gw8b074361@ambrisko.com> Organization: Collaborative Fusion X-Mailer: Sylpheed version 2.2.7 (GTK+ 2.8.20; i386-portbld-freebsd6.1) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: stable@freebsd.org, Bruno Ducrot Subject: Re: Dell 1950 does not properly respond to reboot and shutdown -p X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 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, 10 Oct 2006 12:54:10 -0000 In response to Doug Ambrisko : > Bruno Ducrot writes: > | On Wed, Oct 04, 2006 at 02:07:12PM -0400, Bill Moran wrote: > | > In response to Bruno Ducrot : > | > > Hi, > | > > > | > > On Wed, Oct 04, 2006 at 12:28:35PM -0400, Bill Moran wrote: > | > > > > | > > > A reboot causes the OS to halt, but the hardware just sits there on the > | > > > shutdown screen. > | > > > > | > > > A shutdown -p does the same. > | > > > | > > What exactly are the last few lines? > | > > | > (manually copied) > | > > | > ... > | > All buffers synced. > | > Uptime: 1m16s > | > > | > | Thanks. Then this happen after print_uptime(). > | > | I believe one of the drivers register a shutdown_final (or > | shutdown_post_sync) event that hang your system. I think (though I > | may be wrong) mfi may be that one. > | > | It would help if you can add some printf in dev/mfi/mfi.c into the > | mfi_shutdown() function in order to check if that assumption > | is correct. > > Some what related to this we have a local hack: > > --- sys/kern/subr_bus.c.orig Tue Jun 27 15:49:39 2006 > +++ sys/kern/subr_bus.c Tue Jun 27 15:49:51 2006 > @@ -2906,6 +2906,7 @@ bus_generic_shutdown(device_t dev) > device_t child; > > TAILQ_FOREACH(child, &dev->children, link) { > + DELAY(1000); > device_shutdown(child); > } This patch seems to "fix" the problem. I'm going to replace it with some printfs and see if I can determine which driver is actually causing the problem (hopefully it's only one). Am I wrong in saying that the correct solution would be to identify the driver that needs more time and implementing some sort of polling mechanism to ensure the hardware is ready when the driver wants to shut down? -- Bill Moran Collaborative Fusion Inc.