Writing Device Drivers

tran_bus_reset() Entry Point

tran_bus_reset(9E) must reset the SCSI bus without resetting targets.

#include <sys/scsi/scsi.h>

int tran_bus_reset(dev_info_t *hba_dip, int level);

Where level must be the following:

RESET_BUS

Reset the SCSI bus only, not the targets

The tran_bus_reset() vector in the scsi_hba_tran(9S) structure should be initialized during the HBA driver's attach(9E) to point to an HBA entry point to be called when a user initiates a bus reset.

Implementation is hardware specific. If it cannot reset the SCSI bus without affecting the targets, the HBA driver should fail RESET_BUS or not initialize this vector.