diff options
| author | mikeri <none@none> | 2006-10-16 10:09:13 -0700 |
|---|---|---|
| committer | mikeri <none@none> | 2006-10-16 10:09:13 -0700 |
| commit | 4730c9c455fdcb7ffe43b6f08727468d499ca837 (patch) | |
| tree | 36931ec40352aa6f6472ab1018339b11f0fd7d3a /usr/src/cmd/cdrw | |
| parent | c70a8a3b92fb0488ef2ca1ae9e282c8b86ffa6d1 (diff) | |
| download | illumos-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.c | 7 | ||||
| -rw-r--r-- | usr/src/cmd/cdrw/transport.c | 22 |
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 |
