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)