SCSI_POLL(9F) Kernel Functions for Drivers SCSI_POLL(9F)
NAME
scsi_poll - run a polled SCSI command on behalf of a target driver
SYNOPSIS
#include <sys/scsi/scsi.h>
int scsi_poll(
struct scsi_pkt *pkt);
INTERFACE LEVEL
illumos DDI specific (illumos DDI).
PARAMETERS
pkt Pointer to the
scsi_pkt(9S) structure.
DESCRIPTION
The
scsi_poll() function requests the host adapter driver to run a polled
command. Unlike
scsi_transport(9F) which runs commands asynchronously,
scsi_poll() runs commands to completion before returning. If the
pkt_time member of
pkt is
0, the value of
pkt_time is defaulted to
SCSI_POLL_TIMEOUT to prevent an indefinite hang of the system.
RETURN VALUES
The
scsi_poll() function returns:
0 command completed successfully.
-1 command failed.
CONTEXT
The
scsi_poll() function can be called from user, interrupt, or kernel
context. This function should not be called when the caller is executing
timeout(9F) in the context of a thread.
SEE ALSO
makecom(9F),
scsi_transport(9F),
scsi_pkt(9S) Writing Device DriversWARNINGS
Since
scsi_poll() runs commands to completion before returning, it may
require more time than is desirable when called from interrupt context.
Therefore, calling
scsi_poll from interrupt context is not recommended.
January 16, 2006
SCSI_POLL(9F)