[scsi] Generalise iscsi_detached_command() to scsi_detached_command()
authorMichael Brown <mcb30@etherboot.org>
Sun, 9 Aug 2009 14:20:46 +0000 (15:20 +0100)
committerMichael Brown <mcb30@etherboot.org>
Mon, 10 Aug 2009 18:29:40 +0000 (19:29 +0100)
src/drivers/block/scsi.c
src/include/gpxe/scsi.h
src/net/tcp/iscsi.c

index fe6dcd8..19f99f8 100644 (file)
@@ -44,6 +44,18 @@ block_to_scsi ( struct block_device *blockdev ) {
        return container_of ( blockdev, struct scsi_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
  *
index fbdde8d..b886623 100644 (file)
@@ -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 */
index 0f7b0de..973718e 100644 (file)
@@ -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;
 }