From: Nathan Bryant <nbryant@optonline.net>
To: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Linux Kernel list <linux-kernel@vger.kernel.org>
Subject: Re: device_suspend() levels [was Re: [patch] ACPI work on aic7xxx]
Date: Tue, 20 Jul 2004 16:50:43 -0400 [thread overview]
Message-ID: <40FD85A3.2060502@optonline.net> (raw)
In-Reply-To: <1090356079.1993.12.camel@gaston>
Benjamin Herrenschmidt wrote:
> Note regarding aix7xxx, we also need proper hooks in the SCSI stack to
> block the queue correctly etc... in the same way we do on IDE. I didn't
> have time to look into this yet.
Here's what we currently do, aic7xxx_core.c - looks like it attempts to
quiesce, and then refuse to suspend if we happen to be busy. This is a
little messy because it's done in the suspend call rather than the
save_state call, therefore resume will still be called if this routine
returns an error code, which will reinitialize the device when we didn't
really need to.
int
ahc_suspend(struct ahc_softc *ahc)
{
ahc_pause_and_flushwork(ahc);
if (LIST_FIRST(&ahc->pending_scbs) != NULL) {
ahc_unpause(ahc);
return (EBUSY);
}
#ifdef AHC_TARGET_MODE
/*
* XXX What about ATIOs that have not yet been serviced?
* Perhaps we should just refuse to be suspended if we
* are acting in a target role.
*/
if (ahc->pending_device != NULL) {
ahc_unpause(ahc);
return (EBUSY);
}
#endif
ahc_shutdown(ahc);
return (0);
}
next prev parent reply other threads:[~2004-07-20 20:50 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-07-20 15:22 [patch] ACPI work on aic7xxx Nathan Bryant
2004-07-20 15:59 ` Pavel Machek
2004-07-20 16:48 ` Nathan Bryant
2004-07-20 17:46 ` device_suspend() levels [was Re: [patch] ACPI work on aic7xxx] Pavel Machek
2004-07-20 18:10 ` Nathan Bryant
2004-07-20 18:25 ` Benjamin Herrenschmidt
2004-07-20 18:34 ` Nathan Bryant
2004-07-20 19:10 ` Benjamin Herrenschmidt
2004-07-20 19:23 ` Pavel Machek
[not found] ` <40FD82B1.8030704@optonline.net>
2004-07-20 20:41 ` Benjamin Herrenschmidt
2004-07-20 20:50 ` Nathan Bryant [this message]
2004-07-20 21:02 ` Benjamin Herrenschmidt
2004-07-24 15:31 ` Nathan Bryant
2004-07-24 16:00 ` Benjamin Herrenschmidt
2004-07-24 16:45 ` Nathan Bryant
2004-07-24 18:35 ` Benjamin Herrenschmidt
2004-07-25 0:19 ` Nathan Bryant
2004-07-25 22:10 ` Benjamin Herrenschmidt
2004-07-26 7:32 ` Andre Hedrick
2004-07-28 1:18 ` Benjamin Herrenschmidt
2004-07-26 14:02 ` Nathan Bryant
2004-07-28 1:16 ` Benjamin Herrenschmidt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=40FD85A3.2060502@optonline.net \
--to=nbryant@optonline.net \
--cc=benh@kernel.crashing.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.