Is ASPI dead? I don't think so!

Jeff A Reid Jeff_A_Reid at
Mon Feb 3 16:25:38 PST 1997

* From the SCSI Reflector (scsi at, posted by:
* Jeff A Reid <Jeff_A_Reid at>
>>... can I make the Escape key cancel stuff?
>> (by virtue of the driver
>> returning srb[1] status = 0
>> when it encounters significant delay)
>>... can I set my own timeouts?
>> (same technique as for Escape)

>You can't do an Escape cancel because there is no way for ASPI to
>reliably tell the IOS/SCSIPORT to kill an I/O packet which has already
>hit a host adapter.  We're dealing with many host adapters, and a good
>many won't allow this kind of operation.  Based on this, the O/S
>doesn't do it, and therefore we don't.  I definitely agree with you
>that this is tragic.  I also think it is sad that I can't force either
>a bus or a bus-device reset, but there isn't much I can do to fix the
>problem because there is no O/S support.

Isn't  Abort I/O (SRB command (byte 0) = 3)  used to kill an I/O packet?

>>... must I count adapters
>> (and myself range-check ID's)
>> (rather than just trying an ID)

>Why don't you call GetASPI32SupportInfo (or its equivalent)?  It
>literally takes two more lines of code, and then you'll *KNOW* the
>host adapter count.  Aside from this, you can do what you indicated

I think that "Host Adapter Inquiry" (SRB command  = 0) is used
to get the number of host adapters, and that "Get Device Type"
(SRB command =1) can be used to check for the "presence" of
a device at a specified target ID. Use multiple "Get Device Type"
commands to "scan" for devices.
* For SCSI Reflector information, send a message with
* 'info scsi' (no quotes) in the message body to majordomo at

More information about the T10 mailing list