summaryrefslogtreecommitdiff
path: root/usr/src/cmd/cdrw
diff options
context:
space:
mode:
authormikeri <none@none>2006-10-16 10:09:13 -0700
committermikeri <none@none>2006-10-16 10:09:13 -0700
commit4730c9c455fdcb7ffe43b6f08727468d499ca837 (patch)
tree36931ec40352aa6f6472ab1018339b11f0fd7d3a /usr/src/cmd/cdrw
parentc70a8a3b92fb0488ef2ca1ae9e282c8b86ffa6d1 (diff)
downloadillumos-joyent-4730c9c455fdcb7ffe43b6f08727468d499ca837.tar.gz
6231855 x86: Cannot write DVDs with X9221A (370-7630) DVD burner
Diffstat (limited to 'usr/src/cmd/cdrw')
-rw-r--r--usr/src/cmd/cdrw/misc_scsi.c7
-rw-r--r--usr/src/cmd/cdrw/transport.c22
2 files changed, 21 insertions, 8 deletions
diff --git a/usr/src/cmd/cdrw/misc_scsi.c b/usr/src/cmd/cdrw/misc_scsi.c
index 120a67e950..c0b6d1a47b 100644
--- a/usr/src/cmd/cdrw/misc_scsi.c
+++ b/usr/src/cmd/cdrw/misc_scsi.c
@@ -2,9 +2,8 @@
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
@@ -355,8 +354,6 @@ prepare_for_write(cd_device *dev, int track_mode, int test_write,
/* set track mode type */
if (device_type == CD_RW) {
buf[3] = track_mode & 0x0f; /* ctrl nibble */
- } else {
- buf[3] = 5; /* always 5 for DVD */
}
if (keep_disc_open) {
diff --git a/usr/src/cmd/cdrw/transport.c b/usr/src/cmd/cdrw/transport.c
index 48d2466a02..90cab765e4 100644
--- a/usr/src/cmd/cdrw/transport.c
+++ b/usr/src/cmd/cdrw/transport.c
@@ -2,9 +2,8 @@
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License"). You may not use this file except in compliance
- * with the License.
+ * Common Development and Distribution License (the "License").
+ * You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* or http://www.opensolaris.org/os/licensing.
@@ -189,6 +188,23 @@ uscsi(int fd, struct uscsi_cmd *scmd)
total_retries++;
continue;
}
+
+ if ((SENSE_KEY(rqbuf) == 5) &&
+ (device_type == DVD_PLUS ||
+ device_type == DVD_PLUS_W)) {
+ if (scmd->uscsi_cdb[0] == MODE_SELECT_10_CMD &&
+ ASC(rqbuf) == 0x26) {
+ ret = 1;
+ break;
+ }
+
+ if (scmd->uscsi_cdb[0] == REZERO_UNIT_CMD &&
+ ASC(rqbuf) == 0x20) {
+ ret = 1;
+ break;
+ }
+
+ }
/*
* Blank Sense, we don't know what the error is or if
* the command succeeded, Hope for the best. Some