[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);

    #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) {
    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    [W:0.025 / U:3.360 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site