2006-01-12 04:59:55

by Chuck Ebbert

[permalink] [raw]
Subject: [patch] Mask capabilities for SCSI-1 CD drive

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


2006-01-12 07:39:13

by Jens Axboe

[permalink] [raw]
Subject: Re: [patch] Mask capabilities for SCSI-1 CD drive

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