tran_reset(9E)




NAME

     tran_reset - reset a SCSI bus or target


SYNOPSIS

     #include <sys/scsi/scsi.h>

      int prefixtran_reset(struct scsi_address *ap, int level);


INTERFACE LEVEL

     Solaris architecture specific (Solaris DDI).


PARAMETERS

     ap    Pointer to the scsi_address(9S) structure.

     level The level of reset required.


DESCRIPTION

     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 either the SCSI bus, a  SCSI  target
     device, or a SCSI logical unit 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.

     RESET_LUN
           Reset the logical unit specified by ap.

     tran_reset should set the pkt_reason field of all  outstand-
     ing packets in the transport layer associated with each tar-
     get or logical unit that was successfully reset to CMD_RESET
     and  the  pkt_statistics  field  must  be  OR'ed with either
     STAT_BUS_RESET (if the SCSI bus was reset) or STAT_DEV_RESET
     (if the target or logical unit was reset).

     The HBA driver should use a SCSI Bus Device Reset Message to
     reset  a  target  device.  The HBA driver should use a  SCSI
     Logical Unit Reset Message to reset a logical unit.

     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.

     Support for RESET_LUN is optional  but  strongly  encouraged
     for  new  and updated HBA drivers. If an HBA driver provides
     RESET_LUN support, it must also create the  lun-reset  capa-
     bility  with a value of zero for each target device instance
     represented by a valid ap. The HBA is also required to  pro-
     vide  the means to return the current value of the lun-reset
     capability in its tran_getcap(9E) routine, as  well  as  the
     means to change the value of the lun_reset capability in its
     tran_setcap(9E) routine.


RETURN VALUES

     tran_reset() should return:

     1     on success.

     0     on failure.


SEE ALSO

     attach(9E),   ddi_dma_buf_setup(9F),    scsi_hba_attach(9F),
     scsi_reset(9F), scsi_address(9S), scsi_hba_tran(9S)

     Writing Device Drivers


NOTES

     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.


Man(1) output converted with man2html