tran_reset(9E) manual page
Table of Contents
tran_reset - reset a SCSI bus or target
#include <sys/scsi/scsi.h>
int prefixtran_reset(struct scsi_address *ap, int level);
Solaris
architecture specific (Solaris DDI).
- ap
- Pointer to the scsi_address(9S)
structure.
- level
- The level of reset required.
The tran_reset()
vector in the scsi_hba_tran(9S)
structure must be initialized during the
HBA driver’s attach(9E)
to point to an HBA entry point to be called when
a target driver calls scsi_reset(9F)
.
tran_reset() must reset the SCSI bus
or a SCSI target as specified by level.
level must be one of the following:
- RESET_ALL
- reset the SCSI bus.
- RESET_TARGET
- reset the target specified
by ap.
tran_reset should set the pkt_reason field of all outstanding packets
in the transport layer associated with each target that was successfully
reset to CMD_RESET
and the pkt_statistics field must be OR
’ed with either
STAT_BUS_RESET
or STAT_DEV_RESET
.
The HBA driver should use a SCSI Bus
Device Reset Message to reset a target device.
Packets that are in the transport
layer but not yet active on the bus should be returned with pkt_reason
set to CMD_RESET
, and pkt_statistics OR
’ed with STAT_ABORTED
.
tran_reset()
should return:
- on success.
- on failure.
attach(9E)
, ddi_dma_buf_setup(9F)
,
scsi_hba_attach(9F)
, scsi_reset(9F)
, scsi_address(9S)
, scsi_hba_tran(9S)
If pkt_reason already indicates that an earlier error had occurred
for a particular pkt, tran_reset() should not overwrite pkt_reason with
CMD_RESET
.
Table of Contents