From owner-cvs-src@FreeBSD.ORG Mon Feb 7 18:36:26 2005 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A359C16A583; Mon, 7 Feb 2005 18:36:24 +0000 (GMT) Received: from ylpvm29.prodigy.net (ylpvm29-ext.prodigy.net [207.115.57.60]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3AA7A43D1F; Mon, 7 Feb 2005 18:36:24 +0000 (GMT) (envelope-from nate@root.org) Received: from [10.0.0.34] (adsl-67-119-74-222.dsl.sntc01.pacbell.net [67.119.74.222])j17Ia9h2005226; Mon, 7 Feb 2005 13:36:09 -0500 Message-ID: <4207B525.1050308@root.org> Date: Mon, 07 Feb 2005 10:36:21 -0800 From: Nate Lawson User-Agent: Mozilla Thunderbird 1.0RC1 (X11/20041205) X-Accept-Language: en-us, en MIME-Version: 1.0 To: "Matthew N. Dodd" References: <20050207171448.1007516A56B@hub.freebsd.org> In-Reply-To: <20050207171448.1007516A56B@hub.freebsd.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit cc: cvs-src@FreeBSD.org cc: src-committers@FreeBSD.org cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/ata ata-all.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 Feb 2005 18:36:27 -0000 Matthew N. Dodd wrote: > mdodd 2005-02-07 17:14:42 UTC > > FreeBSD src repository > > Modified files: > sys/dev/ata ata-all.c > Log: > Avoid using tsleep() in the resume path as it may result in the > system hanging if timer interrupts aren't running yet. > > This allows my Thinkpad to resume successfully with APM. > > Approved by: sos > MFC after: 2 weeks > > Revision Changes Path > 1.235 +4 -1 src/sys/dev/ata/ata-all.c Thank you! I grabbed the following backtrace when my system started hanging for about 30 seconds in the resume path and was going to look into fixing it: sched_switch() mi_switch() sleepq_switch() sleepq_timedwait() msleep() ata_udelay+0x5d ata_generic_reset+0x546 ata_reinit+0x104 ata_resume+0x2e ... -- Nate