aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/block/Kconfig2
-rw-r--r--drivers/cdrom/cdrom.c8
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
74 74
75config CDROM 75config CDROM
76 tristate 76 tristate
77 select BLK_SCSI_REQUEST
77 78
78config GDROM 79config GDROM
79 tristate "SEGA Dreamcast GD-ROM drive" 80 tristate "SEGA Dreamcast GD-ROM drive"
80 depends on SH_DREAMCAST 81 depends on SH_DREAMCAST
81 select CDROM 82 select CDROM
82 select BLK_SCSI_REQUEST # only for the generic cdrom code
83 help 83 help
84 A standard SEGA Dreamcast comes with a modified CD ROM drive called a 84 A standard SEGA Dreamcast comes with a modified CD ROM drive called a
85 "GD-ROM" by SEGA to signify it is capable of reading special disks 85 "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 @@
282#include <linux/blkdev.h> 282#include <linux/blkdev.h>
283#include <linux/times.h> 283#include <linux/times.h>
284#include <linux/uaccess.h> 284#include <linux/uaccess.h>
285#include <scsi/scsi_common.h>
285#include <scsi/scsi_request.h> 286#include <scsi/scsi_request.h>
286 287
287/* used to tell the module to turn on full debugging messages */ 288/* 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,
2222 2223
2223 blk_execute_rq(q, cdi->disk, rq, 0); 2224 blk_execute_rq(q, cdi->disk, rq, 0);
2224 if (scsi_req(rq)->result) { 2225 if (scsi_req(rq)->result) {
2225 struct request_sense *s = req->sense; 2226 struct scsi_sense_hdr sshdr;
2227
2226 ret = -EIO; 2228 ret = -EIO;
2227 cdi->last_sense = s->sense_key; 2229 scsi_normalize_sense(req->sense, req->sense_len,
2230 &sshdr);
2231 cdi->last_sense = sshdr.sense_key;
2228 } 2232 }
2229 2233
2230 if (blk_rq_unmap_user(bio)) 2234 if (blk_rq_unmap_user(bio))