From owner-cvs-src@FreeBSD.ORG Wed Nov 14 15:28:25 2007 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 68D2B16A41B; Wed, 14 Nov 2007 15:28:25 +0000 (UTC) (envelope-from zec@icir.org) Received: from zec2.tel.fer.hr (zec2.tel.fer.hr [161.53.19.79]) by mx1.freebsd.org (Postfix) with ESMTP id E2FEB13C4E3; Wed, 14 Nov 2007 15:28:24 +0000 (UTC) (envelope-from zec@icir.org) Received: from localhost (localhost [127.0.0.1]) by zec2.tel.fer.hr (8.14.1/8.14.1) with ESMTP id lAEGFbR9001021; Wed, 14 Nov 2007 16:15:37 GMT (envelope-from zec@icir.org) From: Marko Zec To: cvs-src@freebsd.org Date: Wed, 14 Nov 2007 16:15:36 +0000 User-Agent: KMail/1.9.7 References: <200711140543.lAE5ht3O020823@repoman.freebsd.org> <473AC77C.40903@FreeBSD.org> In-Reply-To: <473AC77C.40903@FreeBSD.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200711141615.36829.zec@icir.org> Cc: Kris Kennaway , src-committers@freebsd.org, Julian Elischer , cvs-all@freebsd.org Subject: Re: cvs commit: src/sys/i386/bios apm.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 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: Wed, 14 Nov 2007 15:28:25 -0000 On Wednesday 14 November 2007 10:01:32 Kris Kennaway wrote: > Julian Elischer wrote: > > julian 2007-11-14 05:43:55 UTC > > > > FreeBSD src repository > > > > Modified files: > > sys/i386/bios apm.c > > Log: > > Apply the same sort of locking done in > > sys/dev/acpica/acpi.c rev 1.196 a while ago: > > > > Grab Giant around calls to DEVICE_SUSPEND/RESUME in > > acpi_SetSleepState(). > > If we are resuming non-MPSAFE drivers, they need Giant held for > > them. This may fix some obscure suspend/resume problems. It has > > fixed keyrate setting problems that were triggered by cardbus > > (MPSAFE) changing the ordering for syscons resume (non-MPSAFE). > > Also, add some asserts that Giant is held in our suspend/resume and > > shutdown methods. > > > > Submitted by: Marko Zec > > > > Revision Changes Path > > 1.149 +10 -0 src/sys/i386/bios/apm.c > > Why are we adding new unconditional giant acquisitions to the tree? > Devices indicate whether or not they are mpsafe, why can't this be > made conditional? In this case APM is the initiator, i.e. it is attempting to suspend / resume all devices in the tree. If Giant is not held at that point, suspend handlers for non-mpsafe won't get executed, and as a result many such devices (USB in particular) won't work once the machine wakes up. ACPI does exactly the same thing already. Though I'm not sure if I've answered your question... Marko