summaryrefslogtreecommitdiffstats
path: root/sys/dev/ida
diff options
context:
space:
mode:
authormdodd <mdodd@FreeBSD.org>2004-01-12 21:05:06 +0000
committermdodd <mdodd@FreeBSD.org>2004-01-12 21:05:06 +0000
commit8b65f172e7dcafba2f0e38e9308974e30d161bb1 (patch)
tree7447ae6c01b2a542920de30b4d8a70df20661020 /sys/dev/ida
parent2c0e413ccc02aa53f20af2ca9655c8fcdd1010ed (diff)
downloadFreeBSD-src-8b65f172e7dcafba2f0e38e9308974e30d161bb1.zip
FreeBSD-src-8b65f172e7dcafba2f0e38e9308974e30d161bb1.tar.gz
Handle "Bad Command List" errors.
No error status is returned by the adapter so set CMD_REJECTED so that ida_done() will DTRT.
Diffstat (limited to 'sys/dev/ida')
-rw-r--r--sys/dev/ida/ida.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/dev/ida/ida.c b/sys/dev/ida/ida.c
index 43ddf59..c2460ad 100644
--- a/sys/dev/ida/ida.c
+++ b/sys/dev/ida/ida.c
@@ -483,6 +483,9 @@ ida_intr(void *data)
"ignoring completion %jx\n", (intmax_t)completed);
continue;
}
+ /* Handle "Bad Command List" errors. */
+ if ((completed & 3) && (qcb->hwqcb->req.error == 0))
+ qcb->hwqcb->req.error = CMD_REJECTED;
ida_done(ida, qcb);
}
ida_start(ida);
OpenPOWER on IntegriCloud