|
@@ -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))
|