DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

sdi_device_reset(D3sdi)


sdi_device_reset -- send SFB_DEVICE_RESET to HBA driver

Synopsis

   #include <sys/sdi.h>
   

int sdi_device_reset(struct scsi_adr *sap, struct sb *sbp);

Description

sdi_device_reset( ) sends an SFB_DEVICE_RESET function to the HBA driver corresponding to sap. Prior to doing this, it sends SFB_SUSPEND to all Logical Units on the target. Upon completion, it calls the sdi_timeout(D3sdi) function to wait for 4 seconds, giving devices tie to fully reset. After this timeout period passes, SFB_RESUME is sent to all Logical Units that are not waiting to be serviced by the error recovery gauntlet.

Arguments


sap
SCSI target to be reset

sbp
partially completed command block to be sent to HBA driver

Return values

The normal return is SDI_RET_OK. Any other return value indicates a failure.

Usage

sdi_device_reset( ) is used by target drivers as part of error recovery. It is only called from the target driver's error recovery routine as a result of a corresponding sdi_start_gauntlet(D3sdi) call.

Context and synchronization

Blockable context.

Synchronization constraints

Does not sleep.

Driver-defined basic locks, read/write locks, and sleep locks can be held across calls to this function.

Applicable hardware

All

Version applicability

sdi: 3, 4 target drivers using ddi: 7, 7mp, 8, 8mp.

Differences between versions

In SDI versions prior to version 4, the sdi_device_reset( ) function is cast as an int.

References

sdi_bus_reset(D3sdi), sdi_end_gauntlet(D3sdi), sdi_start_gauntlet(D3sdi), sdi_timeout(D3sdi)

``SDI bus timeout/reset recovery'' in HDK Technical Reference


19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005