On Tue, 2006-05-16 at 16:02 -0700, Luben Tuikov wrote: > The nexus between the driver and SCSI Core is terminated only when > done() is called. done() is the antagonist of queuecommand(). > > Until done() is called, if the LLDD/IC/SCSI Core want to request that > a command be aborted for whatever reason, it calls > scsi_req_abort_cmd(). > > That is, until the nexus created by calling queuecommand(), is > returned > to SCSI Core (by the driver calling done()), if either the driver or > SCSI Core want to request the command be aborted, they call > scsi_req_abort_cmd(). Erm, no, actually, I think if you look at SAM-3 (section 4.12) you'll find that a nexus can only be maintained with the consent of both the initiator and the target. The (transport dependent) signal of completion is an indicator of nexus termination (except in the linked command case). James - : send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html