diff options
author | sos <sos@FreeBSD.org> | 2002-10-01 15:21:57 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2002-10-01 15:21:57 +0000 |
commit | 731099ce45918f396dcee81a4a56a1f3c31fdead (patch) | |
tree | f28233f7ac705d1796983532ab7e9c640bdbb6eb /sys/dev/ata/atapi-cd.c | |
parent | 137f3cd2e3126fd3eb96a39641b0cee8cf79b285 (diff) | |
download | FreeBSD-src-731099ce45918f396dcee81a4a56a1f3c31fdead.zip FreeBSD-src-731099ce45918f396dcee81a4a56a1f3c31fdead.tar.gz |
Misc cleanups.
Pointed out by: phk/flexelint
Diffstat (limited to 'sys/dev/ata/atapi-cd.c')
-rw-r--r-- | sys/dev/ata/atapi-cd.c | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/sys/dev/ata/atapi-cd.c b/sys/dev/ata/atapi-cd.c index b427d32..6e91ef7 100644 --- a/sys/dev/ata/atapi-cd.c +++ b/sys/dev/ata/atapi-cd.c @@ -1625,6 +1625,7 @@ acd_send_cue(struct acd_softc *cdp, struct cdr_cuesheet *cuesheet) if ((error = acd_mode_sense(cdp, ATAPI_CDROM_WRITE_PARAMETERS_PAGE, (caddr_t)¶m, sizeof(param)))) return error; + param.data_length = 0; param.page_code = ATAPI_CDROM_WRITE_PARAMETERS_PAGE; param.page_length = 0x32; @@ -1638,25 +1639,26 @@ acd_send_cue(struct acd_softc *cdp, struct cdr_cuesheet *cuesheet) param.session_format = cuesheet->session_format; if (cdp->cap.burnproof) param.burnproof = 1; + if ((error = acd_mode_select(cdp, (caddr_t)¶m, param.page_length + 10))) return error; - buffer = malloc(cuesheet->len, M_ACD, M_NOWAIT); - if (!buffer) + if (!(buffer = malloc(cuesheet->len, M_ACD, M_NOWAIT))) return ENOMEM; - if ((error = copyin(cuesheet->entries, buffer, cuesheet->len))) - return error; + + if (!(error = copyin(cuesheet->entries, buffer, cuesheet->len))) { #ifdef ACD_DEBUG - printf("acd: cuesheet lenght = %d\n", cuesheet->len); - for (i=0; i<cuesheet->len; i++) - if (i%8) - printf(" %02x", buffer[i]); - else - printf("\n%02x", buffer[i]); - printf("\n"); + printf("acd: cuesheet lenght = %d\n", cuesheet->len); + for (i=0; i<cuesheet->len; i++) + if (i%8) + printf(" %02x", buffer[i]); + else + printf("\n%02x", buffer[i]); + printf("\n"); #endif - error = atapi_queue_cmd(cdp->device, ccb, buffer, cuesheet->len, 0, - 30, NULL, NULL); + error = atapi_queue_cmd(cdp->device, ccb, buffer, cuesheet->len, 0, + 30, NULL, NULL); + } free(buffer, M_ACD); return error; } |