david/ipxe
david
/
ipxe
Archived
1
0
Fork 0

[scsi] Generalise iscsi_detached_command() to scsi_detached_command()

This commit is contained in:
Michael Brown 2009-08-09 15:20:46 +01:00
parent 04878ef745
commit 976f12c501
3 changed files with 15 additions and 6 deletions

View 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
*

View 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 */

View 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;
}