SCSI_POLL(9F) Kernel Functions for Drivers SCSI_POLL(9F)
scsi_poll - run a polled SCSI command on behalf of a target driver
#include <sys/scsi/scsi.h>
int scsi_poll(struct scsi_pkt *pkt);
illumos DDI specific (illumos DDI).
pkt
Pointer to the scsi_pkt(9S) structure.
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.
The scsi_poll() function returns:
0
command completed successfully.
-1
command failed.
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.
makecom(9F), scsi_transport(9F), scsi_pkt(9S)
Writing Device Drivers
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)
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 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)