SCSI_ABORT(9F) Kernel Functions for Drivers SCSI_ABORT(9F)
scsi_abort - abort a SCSI command
#include <sys/scsi/scsi.h>
intscsi_abort(struct scsi_address *ap, struct scsi_pkt *pkt);
illumos DDI specific (illumos DDI).
ap
Pointer to a scsi_address structure.
pkt
Pointer to a scsi_pkt(9S) structure.
The scsi_abort() function terminates a command that has been
transported to the host adapter driver. A NULL pkt causes all
outstanding packets to be aborted. On a successful abort, the
pkt_reason is set to CMD_ABORTED and pkt_statistics is OR'ed with
STAT_ABORTED.
The scsi_abort() function returns:
1
on success.
0
on failure.
The scsi_abort() function can be called from user, interrupt, or
kernel context.
if (scsi_abort(&devp->sd_address, pkt) == 0) {
(void) scsi_reset(&devp->sd_address, RESET_ALL);
}
tran_abort(9E), scsi_reset(9F), scsi_pkt(9S)
Writing Device Drivers
January 16, 2006 SCSI_ABORT(9F)
NAME
scsi_abort - abort a SCSI command
SYNOPSIS
#include <sys/scsi/scsi.h>
intscsi_abort(struct scsi_address *ap, struct scsi_pkt *pkt);
INTERFACE LEVEL
illumos DDI specific (illumos DDI).
PARAMETERS
ap
Pointer to a scsi_address structure.
pkt
Pointer to a scsi_pkt(9S) structure.
DESCRIPTION
The scsi_abort() function terminates a command that has been
transported to the host adapter driver. A NULL pkt causes all
outstanding packets to be aborted. On a successful abort, the
pkt_reason is set to CMD_ABORTED and pkt_statistics is OR'ed with
STAT_ABORTED.
RETURN VALUES
The scsi_abort() function returns:
1
on success.
0
on failure.
CONTEXT
The scsi_abort() function can be called from user, interrupt, or
kernel context.
EXAMPLES
Example 1: Terminating a command.
if (scsi_abort(&devp->sd_address, pkt) == 0) {
(void) scsi_reset(&devp->sd_address, RESET_ALL);
}
SEE ALSO
tran_abort(9E), scsi_reset(9F), scsi_pkt(9S)
Writing Device Drivers
January 16, 2006 SCSI_ABORT(9F)