summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsos <sos@FreeBSD.org>2004-02-17 19:24:11 +0000
committersos <sos@FreeBSD.org>2004-02-17 19:24:11 +0000
commit8a794db9e9ac38858b486d29417d96fb38a11a31 (patch)
tree2e00bdf1f1a747809185733bc4ed58a3ea58aae0
parent7eab06441b4d19382ddb0c641d5fa54682987387 (diff)
downloadFreeBSD-src-8a794db9e9ac38858b486d29417d96fb38a11a31.zip
FreeBSD-src-8a794db9e9ac38858b486d29417d96fb38a11a31.tar.gz
Dont use the bio_taskqueue if we are in timeout.
Use taskqueue_thread rather than taskqueue_swi (maybe we should have a taskqueue_ata).
-rw-r--r--sys/dev/ata/ata-queue.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/dev/ata/ata-queue.c b/sys/dev/ata/ata-queue.c
index 874311e..3a909a5 100644
--- a/sys/dev/ata/ata-queue.c
+++ b/sys/dev/ata/ata-queue.c
@@ -216,11 +216,11 @@ ata_finish(struct ata_request *request)
ata_completed(request, 0);
}
else {
- if (request->bio)
+ if (request->bio && !(request->flags & ATA_R_TIMEOUT))
bio_taskqueue(request->bio, (bio_task_t *)ata_completed, request);
else {
TASK_INIT(&request->task, 0, ata_completed, request);
- taskqueue_enqueue(taskqueue_swi, &request->task);
+ taskqueue_enqueue(taskqueue_thread, &request->task);
}
}
}
OpenPOWER on IntegriCloud