256
/*
* Each scsipi transaction is fully described by one of these structures
* It includes information about the source of the command and also the
* device and adapter for which the command is destined.
*
* Before the HBA is given this transaction, channel_q is the linkage on
* the related channel's chan_queue.
*
* When the this transaction is taken off the channel's chan_queue and
* the HBA's request entry point is called with this transaction, the
* HBA can use the channel_q tag for whatever it likes until it calls
* scsipi_done for this transaction, at which time it has to stop
* using channel_q.
*
* After scsipi_done is called with this transaction and if there was an
* error on it, channel_q then becomes the linkage on the related channel's
* chan_complete cqueue.
*
* The device_q member is maintained by the scsipi middle layer. When
* a device issues a command, the xfer is placed on that device's
* pending commands queue. When an xfer is done and freed, it is taken
* off the device's queue. This allows for a device to wait for all of
* its pending commands to complete.
*/