SCSI-1 CD drives can't do MRW or be opened for writing, so mask off
those capabilities.
Signed-off-by: Chuck Ebbert <[email protected]>
--- 2.6.15a.orig/drivers/scsi/sr.c
+++ 2.6.15a/drivers/scsi/sr.c
@@ -762,8 +762,9 @@ static void get_capabilities(struct scsi
/* failed, drive doesn't have capabilities mode page */
cd->cdi.speed = 1;
cd->cdi.mask |= (CDC_CD_R | CDC_CD_RW | CDC_DVD_R |
- CDC_DVD | CDC_DVD_RAM |
- CDC_SELECT_DISC | CDC_SELECT_SPEED);
+ CDC_DVD | CDC_DVD_RAM |
+ CDC_SELECT_DISC | CDC_SELECT_SPEED |
+ CDC_MRW | CDC_MRW_W | CDC_RAM);
kfree(buffer);
printk("%s: scsi-1 drive\n", cd->cdi.name);
return;
--
Chuck
Currently reading: _Olympos_ by Dan Simmons
On Wed, Jan 11 2006, Chuck Ebbert wrote:
> SCSI-1 CD drives can't do MRW or be opened for writing, so mask off
> those capabilities.
>
> Signed-off-by: Chuck Ebbert <[email protected]>
>
> --- 2.6.15a.orig/drivers/scsi/sr.c
> +++ 2.6.15a/drivers/scsi/sr.c
> @@ -762,8 +762,9 @@ static void get_capabilities(struct scsi
> /* failed, drive doesn't have capabilities mode page */
> cd->cdi.speed = 1;
> cd->cdi.mask |= (CDC_CD_R | CDC_CD_RW | CDC_DVD_R |
> - CDC_DVD | CDC_DVD_RAM |
> - CDC_SELECT_DISC | CDC_SELECT_SPEED);
> + CDC_DVD | CDC_DVD_RAM |
> + CDC_SELECT_DISC | CDC_SELECT_SPEED |
> + CDC_MRW | CDC_MRW_W | CDC_RAM);
> kfree(buffer);
> printk("%s: scsi-1 drive\n", cd->cdi.name);
> return;
Looks fine, thanks.
Acked-by: Jens Axboe <[email protected]>
--
Jens Axboe