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. */