diff options
Diffstat (limited to 'drivers/scsi/sd.c')
-rw-r--r-- | drivers/scsi/sd.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/scsi/sd.c b/drivers/scsi/sd.c index 84ff203ffedd..152f4ff4ed7e 100644 --- a/drivers/scsi/sd.c +++ b/drivers/scsi/sd.c | |||
@@ -1051,6 +1051,14 @@ sd_spinup_disk(struct scsi_disk *sdkp, char *diskname) | |||
1051 | &sshdr, SD_TIMEOUT, | 1051 | &sshdr, SD_TIMEOUT, |
1052 | SD_MAX_RETRIES); | 1052 | SD_MAX_RETRIES); |
1053 | 1053 | ||
1054 | /* | ||
1055 | * If the drive has indicated to us that it | ||
1056 | * doesn't have any media in it, don't bother | ||
1057 | * with any more polling. | ||
1058 | */ | ||
1059 | if (media_not_present(sdkp, &sshdr)) | ||
1060 | return; | ||
1061 | |||
1054 | if (the_result) | 1062 | if (the_result) |
1055 | sense_valid = scsi_sense_valid(&sshdr); | 1063 | sense_valid = scsi_sense_valid(&sshdr); |
1056 | retries++; | 1064 | retries++; |
@@ -1059,14 +1067,6 @@ sd_spinup_disk(struct scsi_disk *sdkp, char *diskname) | |||
1059 | ((driver_byte(the_result) & DRIVER_SENSE) && | 1067 | ((driver_byte(the_result) & DRIVER_SENSE) && |
1060 | sense_valid && sshdr.sense_key == UNIT_ATTENTION))); | 1068 | sense_valid && sshdr.sense_key == UNIT_ATTENTION))); |
1061 | 1069 | ||
1062 | /* | ||
1063 | * If the drive has indicated to us that it doesn't have | ||
1064 | * any media in it, don't bother with any of the rest of | ||
1065 | * this crap. | ||
1066 | */ | ||
1067 | if (media_not_present(sdkp, &sshdr)) | ||
1068 | return; | ||
1069 | |||
1070 | if ((driver_byte(the_result) & DRIVER_SENSE) == 0) { | 1070 | if ((driver_byte(the_result) & DRIVER_SENSE) == 0) { |
1071 | /* no sense, TUR either succeeded or failed | 1071 | /* no sense, TUR either succeeded or failed |
1072 | * with a status error */ | 1072 | * with a status error */ |