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


Solaris DDI specific (Solaris 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 Drivers

WARNINGS


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)