diff options
| author | Michael Brown | 2006-12-21 18:17:47 +0100 |
|---|---|---|
| committer | Michael Brown | 2006-12-21 18:17:47 +0100 |
| commit | ab242a760d66064ff14b83daaa2eef0a895c8d2b (patch) | |
| tree | cbf40f86cc848448bb366db05da55bb6595e6811 /src/drivers | |
| parent | Default to port 0 (sic). (diff) | |
| download | ipxe-ab242a760d66064ff14b83daaa2eef0a895c8d2b.tar.gz ipxe-ab242a760d66064ff14b83daaa2eef0a895c8d2b.tar.xz ipxe-ab242a760d66064ff14b83daaa2eef0a895c8d2b.zip | |
Add ability to shut down iSCSI connection
Diffstat (limited to 'src/drivers')
| -rw-r--r-- | src/drivers/scsi/iscsidev.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/drivers/scsi/iscsidev.c b/src/drivers/scsi/iscsidev.c index 8f1b2435d..9ee625c4a 100644 --- a/src/drivers/scsi/iscsidev.c +++ b/src/drivers/scsi/iscsidev.c @@ -46,7 +46,22 @@ static int iscsi_command ( struct scsi_device *scsi, * @v iscsidev iSCSI device */ int init_iscsidev ( struct iscsi_device *iscsidev ) { + int rc; + iscsidev->scsi.command = iscsi_command; iscsidev->scsi.lun = iscsidev->iscsi.lun; - return init_scsidev ( &iscsidev->scsi ); + rc = init_scsidev ( &iscsidev->scsi ); + if ( rc != 0 ) { + fini_iscsidev ( iscsidev ); + } + return rc; +} + +/** + * Shut down iSCSI device + * + * @v iscsidev iSCSI device + */ +void fini_iscsidev ( struct iscsi_device *iscsidev ) { + async_wait ( iscsi_shutdown ( &iscsidev->iscsi ) ); } |
