--- drivers/scsi/sr.c~ 2003-12-18 20:37:57.217540154 +0100 +++ drivers/scsi/sr.c 2003-12-18 20:36:57.336012105 +0100 @@ -68,7 +68,7 @@ CDC_SELECT_DISC|CDC_MULTI_SESSION|CDC_MCN|CDC_MEDIA_CHANGED| \ CDC_PLAY_AUDIO|CDC_RESET|CDC_IOCTLS|CDC_DRIVE_STATUS| \ CDC_CD_R|CDC_CD_RW|CDC_DVD|CDC_DVD_R|CDC_DVD_RAM|CDC_GENERIC_PACKET| \ - CDC_MRW|CDC_MRW_R|CDC_RAM) + CDC_MRW|CDC_MRW_W|CDC_RAM) static int sr_probe(struct device *); static int sr_remove(struct device *); @@ -693,7 +693,7 @@ static void get_capabilities(struct scsi_cd *cd) { unsigned char *buffer; - int rc, n, mwr_write = 0, mrw = 1; + int rc, n, mrw_write = 0, mrw = 1; struct scsi_mode_data data; struct scsi_request *SRpnt; unsigned char cmd[MAX_COMMAND_SIZE]; @@ -767,13 +767,13 @@ return; } - if (cdrom_is_mrw(&scsi_CDs[i].cdi, &mrw_write)) { + if (cdrom_is_mrw(&cd->cdi, &mrw_write)) { mrw = 0; - scsi_CDs[i].cdi.mask |= CDC_MRW; - scsi_CDs[i].cdi.mask |= CDC_MRW_W; + cd->cdi.mask |= CDC_MRW; + cd->cdi.mask |= CDC_MRW_W; } if (!mrw_write) - scsi_CDs[i].cdi.mask |= CDC_MRW_W; + cd->cdi.mask |= CDC_MRW_W; n = data.header_length + data.block_descriptor_length; cd->cdi.speed = ((buffer[n + 8] << 8) + buffer[n + 9]) / 176; @@ -825,8 +825,8 @@ /* * if DVD-RAM of MRW-W, we are randomly writeable */ - if ((scsi_CDs[i].cdi.mask & (CDC_DVD_RAM | CDC_MRW_W)) != (CDC_DVD_RAM | CDC_MRW_W)) - scsi_CDs[i].device->writeable = 1; + if ((cd->cdi.mask & (CDC_DVD_RAM | CDC_MRW_W)) != (CDC_DVD_RAM | CDC_MRW_W)) + cd->device->writeable = 1; scsi_release_request(SRpnt); kfree(buffer);