From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Herrenschmidt Subject: Re: suspend.c vs driver-model.txt Date: Tue, 30 Jul 2002 20:43:05 +0200 Sender: acpi-devel-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org Message-ID: <20020730184305.23369@192.168.4.1> References: <20020730194214.GD12091@atrey.karlin.mff.cuni.cz> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20020730194214.GD12091-jyMamyUUXNJG4ohzP4jBZS1Fcj925eT/@public.gmane.org> Errors-To: acpi-devel-admin-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org List-Help: List-Post: List-Subscribe: , List-Unsubscribe: , List-Archive: To: Pavel Machek Cc: Patrick Mochel , acpi-devel-pyega4qmqnRoyOMFzWx49A@public.gmane.org List-Id: linux-acpi@vger.kernel.org >That's okay. We stop userspace. Then we attempt to suspend usb >camera. Thanks to driver ordering, USB host chip is still alive. When >all devices are done, USB host chips is suspended. Thanks to ordering, >there's noone alive to ask USB host chip to do anything, so USB host >chip driver does not need if (i_m_suspended) reject_request(), because >it just can not happen. In real life it did happen and that has been an issue for me in 2.4, but well... that's because the USB device drivers don't deal with suspend currently. But the point here is that you don't suspend the _subsystem_ (USB, block layer, network stack, whatever), but the individual drivers. It do make sense to provide a way to stop requests. Requests are not always originated from userspace. Several kernel services can issue requests (VM, cache, whatever stuff on top of an i2c device, etc...) and you can't shut down those services because you don't have ordering rules for them, you only have ordering rules for the drivers. Ben. ------------------------------------------------------- This sf.net email is sponsored by: Dice - The leading online job board for high-tech professionals. Search and apply for tech jobs today! http://seeker.dice.com/seeker.epl?rel_code=31