From 85dd785ec8cd5e44abb471456e76ecae84ff16d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B8ren=20Schmidt?= Date: Sun, 7 Dec 2003 23:15:22 +0000 Subject: [PATCH] Try a little harder to catch when fixate finishes. On the that failed causing burncd to wait forever... --- sys/dev/ata/atapi-cd.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/dev/ata/atapi-cd.c b/sys/dev/ata/atapi-cd.c index 1e835b94c8f..ec35c4e64fd 100644 --- a/sys/dev/ata/atapi-cd.c +++ b/sys/dev/ata/atapi-cd.c @@ -1369,7 +1369,7 @@ acd_fixate(struct acd_softc *cdp, int multisession) int8_t ccb[16] = { ATAPI_CLOSE_TRACK, 0x01, 0x02, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }; int timeout = 5*60*2; - int error; + int error, dummy; struct write_param param; if ((error = acd_mode_sense(cdp, ATAPI_CDROM_WRITE_PARAMETERS_PAGE, @@ -1397,9 +1397,11 @@ acd_fixate(struct acd_softc *cdp, int multisession) } while (timeout-- > 0) { + if ((error = acd_get_progress(cdp, &dummy))) + return error; if ((error = acd_test_ready(cdp->device)) != EBUSY) return error; - tsleep(&error, PRIBIO, "acdcld", hz/2); + tsleep(&error, PRIBIO, "acdcld", hz / 2); } return EIO; }