diff options
| -rw-r--r-- | drivers/block/Kconfig | 2 | ||||
| -rw-r--r-- | drivers/cdrom/cdrom.c | 8 | 
2 files changed, 7 insertions, 3 deletions
| diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig index ad9b687a236a..d4913516823f 100644 --- a/drivers/block/Kconfig +++ b/drivers/block/Kconfig @@ -74,12 +74,12 @@ config AMIGA_Z2RAM  config CDROM  	tristate +	select BLK_SCSI_REQUEST  config GDROM  	tristate "SEGA Dreamcast GD-ROM drive"  	depends on SH_DREAMCAST  	select CDROM -	select BLK_SCSI_REQUEST # only for the generic cdrom code  	help  	  A standard SEGA Dreamcast comes with a modified CD ROM drive called a  	  "GD-ROM" by SEGA to signify it is capable of reading special disks diff --git a/drivers/cdrom/cdrom.c b/drivers/cdrom/cdrom.c index 86619472d916..113fc6edb2b0 100644 --- a/drivers/cdrom/cdrom.c +++ b/drivers/cdrom/cdrom.c @@ -282,6 +282,7 @@  #include <linux/blkdev.h>  #include <linux/times.h>  #include <linux/uaccess.h> +#include <scsi/scsi_common.h>  #include <scsi/scsi_request.h>  /* used to tell the module to turn on full debugging messages */ @@ -2222,9 +2223,12 @@ static int cdrom_read_cdda_bpc(struct cdrom_device_info *cdi, __u8 __user *ubuf,  		blk_execute_rq(q, cdi->disk, rq, 0);  		if (scsi_req(rq)->result) { -			struct request_sense *s = req->sense; +			struct scsi_sense_hdr sshdr; +  			ret = -EIO; -			cdi->last_sense = s->sense_key; +			scsi_normalize_sense(req->sense, req->sense_len, +					     &sshdr); +			cdi->last_sense = sshdr.sense_key;  		}  		if (blk_rq_unmap_user(bio)) | 
