summaryrefslogtreecommitdiffstats
path: root/src/include/gpxe
diff options
context:
space:
mode:
authorMichael Brown2009-07-08 00:00:11 +0200
committerMichael Brown2009-07-18 00:00:09 +0200
commit1d8d8ef2c8e6bd951416941a42e3e6302238330a (patch)
tree521e7ff15194ef417bb99f941fb3f200af349a29 /src/include/gpxe
parent[debug] Use a delimiter to break up DBG_HD() output (diff)
downloadipxe-1d8d8ef2c8e6bd951416941a42e3e6302238330a.tar.gz
ipxe-1d8d8ef2c8e6bd951416941a42e3e6302238330a.tar.xz
ipxe-1d8d8ef2c8e6bd951416941a42e3e6302238330a.zip
[scsi] Make SCSI command issuing partially asynchronous
Move the icky call to step() from iscsi.c to scsi.c; this takes it at least one step further away from where it really doesn't belong.
Diffstat (limited to 'src/include/gpxe')
-rw-r--r--src/include/gpxe/iscsi.h5
-rw-r--r--src/include/gpxe/scsi.h11
2 files changed, 7 insertions, 9 deletions
diff --git a/src/include/gpxe/iscsi.h b/src/include/gpxe/iscsi.h
index 9185d6240..469911dfb 100644
--- a/src/include/gpxe/iscsi.h
+++ b/src/include/gpxe/iscsi.h
@@ -614,11 +614,6 @@ struct iscsi_session {
* Set to NULL when command is complete.
*/
struct scsi_command *command;
- /** SCSI command return code
- *
- * Set to -EINPROGRESS while command is processing.
- */
- int rc;
/** Instant return code
*
* Set to a non-zero value if all requests should return
diff --git a/src/include/gpxe/scsi.h b/src/include/gpxe/scsi.h
index 115fd3fe2..fbdde8dcb 100644
--- a/src/include/gpxe/scsi.h
+++ b/src/include/gpxe/scsi.h
@@ -236,6 +236,8 @@ struct scsi_command {
uint8_t status;
/** SCSI sense response code */
uint8_t sense_response;
+ /** Command status code */
+ int rc;
};
/** A SCSI device */
@@ -256,10 +258,11 @@ struct scsi_device {
* @ret rc Return status code
*
* Note that a successful return status code indicates only
- * that the SCSI command completed. The caller must check the
- * status field in the command structure to see if, for
- * example, the device returned CHECK CONDITION or some other
- * non-success status code.
+ * that the SCSI command was issued. The caller must check
+ * the status field in the command structure to see when the
+ * command completes and whether, for example, the device
+ * returned CHECK CONDITION or some other non-success status
+ * code.
*/
int ( * command ) ( struct scsi_device *scsi,
struct scsi_command *command );