TRAN_ABORT(9E) Driver Entry Points TRAN_ABORT(9E)
NAME
tran_abort - abort a SCSI command
SYNOPSIS
#include <sys/scsi/scsi.h>
int prefixtran_abort(
struct scsi_address *ap,
struct scsi_pkt *pkt);
INTERFACE LEVEL
illumos architecture specific (illumos DDI).
ARGUMENTS
ap Pointer to a
scsi_address(9S) structure.
pkt Pointer to a
scsi_pkt(9S) structure.
DESCRIPTION
The
tran_abort() 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_abort(9F).
tran_abort() should attempt to abort the command
pkt that has been
transported to the HBA. If
pkt is
NULL, the HBA driver should
attempt to abort all outstanding packets for the target/logical unit
addressed by
ap.
Depending on the state of a particular command in the transport
layer, the HBA driver may not be able to abort the command.
While the abort is taking place, packets issued to the transported
layer may or may not be aborted.
For each packet successfully aborted,
tran_abort() must set the
pkt_reason to
CMD_ABORTED, and
pkt_statistics must be
OR'ed with
STAT_ABORTED .
RETURN VALUES
tran_abort() must return:
1 upon success or partial success.
0 upon failure.
CONTEXT
The
tran_abort() function can be called from user or interrupt
context. This requirement comes from
scsi_abort().
SEE ALSO
attach(9E),
scsi_abort(9F),
scsi_hba_attach(9F),
scsi_address(9S),
scsi_hba_tran(9S),
scsi_pkt(9S) Writing Device DriversNOTES
If
pkt_reason already indicates that an earlier error had occurred,
tran_abort() should not overwrite
pkt_reason with
CMD_ABORTED.
August 17, 2005 TRAN_ABORT(9E)