diff options
author | mdodd <mdodd@FreeBSD.org> | 2004-01-12 21:05:06 +0000 |
---|---|---|
committer | mdodd <mdodd@FreeBSD.org> | 2004-01-12 21:05:06 +0000 |
commit | 8b65f172e7dcafba2f0e38e9308974e30d161bb1 (patch) | |
tree | 7447ae6c01b2a542920de30b4d8a70df20661020 /sys/dev/ida | |
parent | 2c0e413ccc02aa53f20af2ca9655c8fcdd1010ed (diff) | |
download | FreeBSD-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.c | 3 |
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); |