summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2004-09-30 20:54:59 +0000
committersos <sos@FreeBSD.org>2004-09-30 20:54:59 +0000
commite7c7f8c03c7b15f72f356908f9692cacc5d8534e (patch)
tree3b60d6b2a07cbdf7a42962cf4220d6c4fb7638cc
parent1a76662486b79521cb815b3a0fe6eda4b8737690 (diff)
downloadFreeBSD-src-e7c7f8c03c7b15f72f356908f9692cacc5d8534e.zip
FreeBSD-src-e7c7f8c03c7b15f72f356908f9692cacc5d8534e.tar.gz
Resurrect dump that broke with the last update.
-rw-r--r--sys/dev/ata/ata-disk.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/sys/dev/ata/ata-disk.c b/sys/dev/ata/ata-disk.c
index 9bbacd2..847736d 100644
--- a/sys/dev/ata/ata-disk.c
+++ b/sys/dev/ata/ata-disk.c
@@ -356,12 +356,11 @@ addump(void *arg, void *virtual, vm_offset_t physical,
if (request.device->channel->
hw.begin_transaction(&request) == ATA_OP_CONTINUES) {
- while (request.device->channel->running == &request &&
- !(request.status & ATA_S_ERROR)) {
+ do {
DELAY(20);
- request.device->channel->running = &request;
- request.device->channel->hw.interrupt(request.device->channel);
- }
+ } while (request.device->channel->
+ hw.end_transaction(&request) == ATA_OP_CONTINUES);
+ ata_finish(&request);
}
if (request.status & ATA_S_ERROR)
return EIO;
OpenPOWER on IntegriCloud