diff options
author | sos <sos@FreeBSD.org> | 2004-02-17 19:24:11 +0000 |
---|---|---|
committer | sos <sos@FreeBSD.org> | 2004-02-17 19:24:11 +0000 |
commit | 8a794db9e9ac38858b486d29417d96fb38a11a31 (patch) | |
tree | 2e00bdf1f1a747809185733bc4ed58a3ea58aae0 /sys | |
parent | 7eab06441b4d19382ddb0c641d5fa54682987387 (diff) | |
download | FreeBSD-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).
Diffstat (limited to 'sys')
-rw-r--r-- | sys/dev/ata/ata-queue.c | 4 |
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); } } } |