summaryrefslogtreecommitdiff
path: root/usr/src/cmd/cdrw
diff options
context:
space:
mode:
authorrameshc <none@none>2005-08-31 12:05:23 -0700
committerrameshc <none@none>2005-08-31 12:05:23 -0700
commit4becbc5b6d8bf411bcf87e2aa73dd99f22fccac8 (patch)
tree3fca35c862a4e531021f4c54c6df05e64effd2a2 /usr/src/cmd/cdrw
parent0dee7919e2f2a6479d16b370af93747b9416b242 (diff)
downloadillumos-joyent-4becbc5b6d8bf411bcf87e2aa73dd99f22fccac8.tar.gz
6297848 Cannot set speed manually by cdrw command to the Lite-on COMBO drive
Diffstat (limited to 'usr/src/cmd/cdrw')
-rw-r--r--usr/src/cmd/cdrw/device.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/usr/src/cmd/cdrw/device.c b/usr/src/cmd/cdrw/device.c
index f01603bdcb..0b25702544 100644
--- a/usr/src/cmd/cdrw/device.c
+++ b/usr/src/cmd/cdrw/device.c
@@ -181,6 +181,19 @@ get_device(char *user_supplied, char *node)
use_cd_speed = 1;
}
+ /*
+ * a workaround for the firmware problem in LITE-ON COMBO drives.
+ * streaming for these drives sets it only to max speed regardless
+ * of requested speed. cd_speed_ctrl allow speeds less than max
+ * to be set but not max thus the code below. (x48 is max speed
+ * for these drives).
+ */
+ if ((strncmp("LITE-ON", (const char *)&dev->d_inq[8], 7) == 0) &&
+ (strncmp("COMBO SOHC-4836VS",
+ (const char *)&dev->d_inq[16], 17) == 0))
+ if (requested_speed < 48)
+ use_cd_speed = 1;
+
cap = (uchar_t *)my_zalloc(8);
if (is_old_sun_drive(dev)) {
dev->d_read_audio = toshiba_read_audio;