X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fscsi%2Fsr.c;h=c82df8bd4d8931cc72d3654a74edde4e4c9dd75b;hb=b72e9ebe7efa5754aa53bbdb0040a2d6eeb34db3;hp=208565bdbe8e946c5f7c0676d72c2b04174d59fa;hpb=d7511ec8115487ccea2ce93bf58d5e5cd2c1c0a3;p=linux-2.6 diff --git a/drivers/scsi/sr.c b/drivers/scsi/sr.c index 208565bdbe..c82df8bd4d 100644 --- a/drivers/scsi/sr.c +++ b/drivers/scsi/sr.c @@ -178,6 +178,9 @@ int sr_test_unit_ready(struct scsi_device *sdev, struct scsi_sense_hdr *sshdr) the_result = scsi_execute_req(sdev, cmd, DMA_NONE, NULL, 0, sshdr, SR_TIMEOUT, retries--); + if (scsi_sense_valid(sshdr) && + sshdr->sense_key == UNIT_ATTENTION) + sdev->changed = 1; } while (retries > 0 && (!scsi_status_is_good(the_result) || @@ -623,6 +626,7 @@ static int sr_probe(struct device *dev) cd->disk = disk; cd->capacity = 0x1fffff; cd->device->changed = 1; /* force recheck CD type */ + cd->previous_state = 1; cd->use = 1; cd->readcd_known = 0; cd->readcd_cdda = 0;