From owner-freebsd-new-bus Wed Dec 1 10:50:49 1999 Delivered-To: freebsd-new-bus@freebsd.org Received: from khavrinen.lcs.mit.edu (khavrinen.lcs.mit.edu [18.24.4.193]) by hub.freebsd.org (Postfix) with ESMTP id 9902D15015 for ; Wed, 1 Dec 1999 10:50:28 -0800 (PST) (envelope-from wollman@khavrinen.lcs.mit.edu) Received: (from wollman@localhost) by khavrinen.lcs.mit.edu (8.9.3/8.9.3) id NAA54963; Wed, 1 Dec 1999 13:48:01 -0500 (EST) (envelope-from wollman) Date: Wed, 1 Dec 1999 13:48:01 -0500 (EST) From: Garrett Wollman Message-Id: <199912011848.NAA54963@khavrinen.lcs.mit.edu> To: Warner Losh Cc: new-bus@freebsd.org Subject: Re: PCCARD eject freeze (was Re: your mail) In-Reply-To: <199912011828.LAA03231@harmony.village.org> References: <199912011828.LAA03231@harmony.village.org> Sender: owner-freebsd-new-bus@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG < said: > Suspend has a similar problem because it can come in while a > device is sleeping. The device driver gets informed about suspends (although some broken drivers don't pay attention). Every DEVICE_SUSPEND method should place that device in a quiescent state. Here's a state table: NP = Not Present P = Present I = Inactive B = Busy S = Suspended to-------------------------------------- from NP P I B S NP probe probe - - - P attach - attach - - I - - - open suspend B - - close - suspend S detach - resume resume - (In this table, `open' and `close' also include ifconfig or other analogous behavior for non-device-interface drivers. There are a few more gradations which might turn out to be useful as well, but I think this is the model.) -GAWollman -- Garrett A. Wollman | O Siem / We are all family / O Siem / We're all the same wollman@lcs.mit.edu | O Siem / The fires of freedom Opinions not those of| Dance in the burning flame MIT, LCS, CRS, or NSA| - Susan Aglukark and Chad Irschick To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-new-bus" in the body of the message