summaryrefslogtreecommitdiff
path: root/sys/dev/microcode/siop
diff options
context:
space:
mode:
authorbouyer <bouyer@NetBSD.org>2004-05-17 11:10:24 +0000
committerbouyer <bouyer@NetBSD.org>2004-05-17 11:10:24 +0000
commit76fa396c1d78e40bf3a58ea4909d5c7dba0ed36b (patch)
tree1b851b17da4822d3903a0da9765109c201a0bbdf /sys/dev/microcode/siop
parente88c851d082e96aff176fd7ab1fe9c614cc2135f (diff)
Properly compute xs->resid, instead of assuming it'll always be 0 when
a command is done.
Diffstat (limited to 'sys/dev/microcode/siop')
-rw-r--r--sys/dev/microcode/siop/esiop.ss3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/dev/microcode/siop/esiop.ss b/sys/dev/microcode/siop/esiop.ss
index 486b81a5abc..81aaf085f0b 100644
--- a/sys/dev/microcode/siop/esiop.ss
+++ b/sys/dev/microcode/siop/esiop.ss
@@ -1,4 +1,4 @@
-; $NetBSD: esiop.ss,v 1.16 2003/10/05 17:48:49 bouyer Exp $
+; $NetBSD: esiop.ss,v 1.17 2004/05/17 11:10:24 bouyer Exp $
;
; Copyright (c) 2002 Manuel Bouyer.
@@ -208,6 +208,7 @@ waitphase:
handle_cmpl:
CALL REL(disconnect);
+ STORE NOFLUSH SCRATCHA0, 4, from tlq_offset; save current offset
MOVE SCRATCHE1 to SFBR;
INT int_done, IF NOT 0x00; if status is not "done", let host handle it
MOVE SCRATCHF0 to SFBR; load pointer in done ring