summaryrefslogtreecommitdiffstats
path: root/sys/cam/scsi/scsi_cd.c
diff options
context:
space:
mode:
authormav <mav@FreeBSD.org>2011-12-23 19:53:28 +0000
committermav <mav@FreeBSD.org>2011-12-23 19:53:28 +0000
commitb63346bb14e9639acc776319af569d6550cfe069 (patch)
tree13e87dd208c165dfb8c3dd363260552949e3f752 /sys/cam/scsi/scsi_cd.c
parentb9b25a56e024475d9de6039ea0b453e2ba078011 (diff)
downloadFreeBSD-src-b63346bb14e9639acc776319af569d6550cfe069.zip
FreeBSD-src-b63346bb14e9639acc776319af569d6550cfe069.tar.gz
Addition to r228808:
READ CD is a 12 byte command. So fill additional bytes and update CDB length when patching READ(10). MFC after: 1 month
Diffstat (limited to 'sys/cam/scsi/scsi_cd.c')
-rw-r--r--sys/cam/scsi/scsi_cd.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/cam/scsi/scsi_cd.c b/sys/cam/scsi/scsi_cd.c
index 71167e4..06823f2 100644
--- a/sys/cam/scsi/scsi_cd.c
+++ b/sys/cam/scsi/scsi_cd.c
@@ -1487,6 +1487,9 @@ cdstart(struct cam_periph *periph, union ccb *start_ccb)
if (softc->params.blksize == 2352) {
start_ccb->csio.cdb_io.cdb_bytes[0] = READ_CD;
start_ccb->csio.cdb_io.cdb_bytes[9] = 0xf8;
+ start_ccb->csio.cdb_io.cdb_bytes[10] = 0;
+ start_ccb->csio.cdb_io.cdb_bytes[11] = 0;
+ start_ccb->csio.cdb_len = 12;
}
start_ccb->ccb_h.ccb_state = CD_CCB_BUFFER_IO;
OpenPOWER on IntegriCloud