diff options
Diffstat (limited to 'drivers/scsi/sr_ioctl.c')
-rw-r--r-- | drivers/scsi/sr_ioctl.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/scsi/sr_ioctl.c b/drivers/scsi/sr_ioctl.c index d92ff512d213..291236e6e435 100644 --- a/drivers/scsi/sr_ioctl.c +++ b/drivers/scsi/sr_ioctl.c | |||
@@ -309,6 +309,11 @@ int sr_drive_status(struct cdrom_device_info *cdi, int slot) | |||
309 | if (0 == sr_test_unit_ready(cd->device, &sshdr)) | 309 | if (0 == sr_test_unit_ready(cd->device, &sshdr)) |
310 | return CDS_DISC_OK; | 310 | return CDS_DISC_OK; |
311 | 311 | ||
312 | /* SK/ASC/ASCQ of 2/4/1 means "unit is becoming ready" */ | ||
313 | if (scsi_sense_valid(&sshdr) && sshdr.sense_key == NOT_READY | ||
314 | && sshdr.asc == 0x04 && sshdr.ascq == 0x01) | ||
315 | return CDS_DRIVE_NOT_READY; | ||
316 | |||
312 | if (!cdrom_get_media_event(cdi, &med)) { | 317 | if (!cdrom_get_media_event(cdi, &med)) { |
313 | if (med.media_present) | 318 | if (med.media_present) |
314 | return CDS_DISC_OK; | 319 | return CDS_DISC_OK; |