Content-type: text/html Man page of tran_reset

tran_reset

Section: Driver Entry Points (9E)
Updated: 12 Jul 2002
Index Return to Main Contents
 

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 outstanding packets in the transport layer associated with each target 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 capability with a value of zero for each target device instance represented by a valid ap. The HBA is also required to provide 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.


 

Index

NAME
SYNOPSIS
INTERFACE LEVEL
PARAMETERS
DESCRIPTION
RETURN VALUES
SEE ALSO
NOTES

This document was created by man2html, using the manual pages.
Time: 02:39:35 GMT, October 02, 2010