[lkml]   [2004]   [Jul]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: device_suspend() levels [was Re: [patch] ACPI work on aic7xxx]
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.

ahc_suspend(struct ahc_softc *ahc)

if (LIST_FIRST(&ahc->pending_scbs) != NULL) {
return (EBUSY);
* 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) {
return (EBUSY);
return (0);
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2005-03-22 14:04    [from the cache]
©2003-2014 Jasper Spaans. hosted at Digital Ocean