diff options
Diffstat (limited to 'drivers/scsi')
-rw-r--r-- | drivers/scsi/ide-scsi.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/scsi/ide-scsi.c b/drivers/scsi/ide-scsi.c index 5b8a1931ac9b..c9fdf60c9dcf 100644 --- a/drivers/scsi/ide-scsi.c +++ b/drivers/scsi/ide-scsi.c | |||
@@ -629,6 +629,8 @@ static void ide_scsi_remove(ide_drive_t *drive) | |||
629 | put_disk(g); | 629 | put_disk(g); |
630 | 630 | ||
631 | ide_scsi_put(scsi); | 631 | ide_scsi_put(scsi); |
632 | |||
633 | drive->scsi = 0; | ||
632 | } | 634 | } |
633 | 635 | ||
634 | static int ide_scsi_probe(ide_drive_t *); | 636 | static int ide_scsi_probe(ide_drive_t *); |
@@ -969,6 +971,8 @@ static int ide_scsi_probe(ide_drive_t *drive) | |||
969 | !(host = scsi_host_alloc(&idescsi_template,sizeof(idescsi_scsi_t)))) | 971 | !(host = scsi_host_alloc(&idescsi_template,sizeof(idescsi_scsi_t)))) |
970 | return -ENODEV; | 972 | return -ENODEV; |
971 | 973 | ||
974 | drive->scsi = 1; | ||
975 | |||
972 | g = alloc_disk(1 << PARTN_BITS); | 976 | g = alloc_disk(1 << PARTN_BITS); |
973 | if (!g) | 977 | if (!g) |
974 | goto out_host_put; | 978 | goto out_host_put; |
@@ -1009,6 +1013,7 @@ static int ide_scsi_probe(ide_drive_t *drive) | |||
1009 | 1013 | ||
1010 | put_disk(g); | 1014 | put_disk(g); |
1011 | out_host_put: | 1015 | out_host_put: |
1016 | drive->scsi = 0; | ||
1012 | scsi_host_put(host); | 1017 | scsi_host_put(host); |
1013 | return err; | 1018 | return err; |
1014 | } | 1019 | } |