diff options
author | Michael Brown <mcb30@etherboot.org> | 2009-08-09 15:20:46 +0100 |
---|---|---|
committer | Michael Brown <mcb30@etherboot.org> | 2009-08-10 19:29:40 +0100 |
commit | 976f12c50120637410f30c17f8fbfcd5a49ed8fd (patch) | |
tree | 5eb97a35b019f02defae361a6611deffc3413b76 | |
parent | 04878ef74512df49803d1119c72c49cd8f1bfe10 (diff) | |
download | ipxe-976f12c50120637410f30c17f8fbfcd5a49ed8fd.tar.gz |
[scsi] Generalise iscsi_detached_command() to scsi_detached_command()
-rw-r--r-- | src/drivers/block/scsi.c | 12 | ||||
-rw-r--r-- | src/include/gpxe/scsi.h | 2 | ||||
-rw-r--r-- | src/net/tcp/iscsi.c | 7 |
3 files changed, 15 insertions, 6 deletions
diff --git a/src/drivers/block/scsi.c b/src/drivers/block/scsi.c index fe6dcd8c..19f99f82 100644 --- a/src/drivers/block/scsi.c +++ b/src/drivers/block/scsi.c @@ -45,6 +45,18 @@ block_to_scsi ( struct block_device *blockdev ) { } /** + * Handle SCSI command with no backing device + * + * @v scsi SCSI device + * @v command SCSI command + * @ret rc Return status code + */ +int scsi_detached_command ( struct scsi_device *scsi __unused, + struct scsi_command *command __unused ) { + return -ENODEV; +} + +/** * Issue SCSI command * * @v scsi SCSI device diff --git a/src/include/gpxe/scsi.h b/src/include/gpxe/scsi.h index fbdde8dc..b8866234 100644 --- a/src/include/gpxe/scsi.h +++ b/src/include/gpxe/scsi.h @@ -270,6 +270,8 @@ struct scsi_device { struct refcnt *backend; }; +extern int scsi_detached_command ( struct scsi_device *scsi, + struct scsi_command *command ); extern int init_scsidev ( struct scsi_device *scsi ); #endif /* _GPXE_SCSI_H */ diff --git a/src/net/tcp/iscsi.c b/src/net/tcp/iscsi.c index 0f7b0de5..973718e0 100644 --- a/src/net/tcp/iscsi.c +++ b/src/net/tcp/iscsi.c @@ -1571,11 +1571,6 @@ static int iscsi_command ( struct scsi_device *scsi, return 0; } -static int iscsi_detached_command ( struct scsi_device *scsi __unused, - struct scsi_command *command __unused ) { - return -ENODEV; -} - /** * Shut down iSCSI interface * @@ -1588,7 +1583,7 @@ void iscsi_detach ( struct scsi_device *scsi ) { xfer_nullify ( &iscsi->socket ); iscsi_close_connection ( iscsi, 0 ); process_del ( &iscsi->process ); - scsi->command = iscsi_detached_command; + scsi->command = scsi_detached_command; ref_put ( scsi->backend ); scsi->backend = NULL; } |