diff options
| author | rameshc <none@none> | 2007-11-09 11:27:18 -0800 |
|---|---|---|
| committer | rameshc <none@none> | 2007-11-09 11:27:18 -0800 |
| commit | 83eefa44a30911772c048cba898c57272799c791 (patch) | |
| tree | 0e92aa68e26a382a29f32d5567d863974fa914fb /usr/src/cmd/cdrw | |
| parent | 1be2e5dfebda7cac010af97aae7a3a1b45649aed (diff) | |
| download | illumos-joyent-83eefa44a30911772c048cba898c57272799c791.tar.gz | |
6592397 cdrw -S -i <iso image> fails on TSSTcorp CD/DVDW TS-T632A and TS-L632D drives
Diffstat (limited to 'usr/src/cmd/cdrw')
| -rw-r--r-- | usr/src/cmd/cdrw/transport.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/usr/src/cmd/cdrw/transport.c b/usr/src/cmd/cdrw/transport.c index 90cab765e4..0cd4dbd35f 100644 --- a/usr/src/cmd/cdrw/transport.c +++ b/usr/src/cmd/cdrw/transport.c @@ -19,7 +19,7 @@ * CDDL HEADER END */ /* - * Copyright 2006 Sun Microsystems, Inc. All rights reserved. + * Copyright 2007 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. */ @@ -170,8 +170,16 @@ uscsi(int fd, struct uscsi_cmd *scmd) if ((SENSE_KEY(rqbuf) == 2) && (ASC(rqbuf) == 4) && (ASCQ(rqbuf) == 8)) { total_retries++; + /* + * In Simulation write mode, we use the + * READ_INFO_CMD to check if all the previous + * writes completed. Sleeping 500 ms will not + * be sufficient in all cases for DVDs. + */ if ((device_type != CD_RW) && - (scmd->uscsi_cdb[0] == CLOSE_TRACK_CMD)) + ((scmd->uscsi_cdb[0] == CLOSE_TRACK_CMD) || + ((scmd->uscsi_cdb[0] == READ_INFO_CMD) && + simulation))) (void) sleep(3); else ms_delay(500); |
