diff options
| author | bouyer <bouyer@NetBSD.org> | 2004-05-17 18:37:02 +0000 |
|---|---|---|
| committer | bouyer <bouyer@NetBSD.org> | 2004-05-17 18:37:02 +0000 |
| commit | 83478e12f329f4bd506a4e92affee4a2ee2ba45a (patch) | |
| tree | b745f43bbf1044b9146cd5739944963d135632cb /sys/dev/microcode/siop | |
| parent | f8dc59869d70bdce602bc775eecd715dc2a63b3f (diff) | |
when an unexpected disconnect occurs only compute the resid; do the
real save data pointers when we get the message (or rather, at disconnect
time following the message).
Factor out code to do this, and to deal with xs->resid, in siop_common.c.
Diffstat (limited to 'sys/dev/microcode/siop')
| -rw-r--r-- | sys/dev/microcode/siop/esiop.ss | 6 | ||||
| -rw-r--r-- | sys/dev/microcode/siop/siop.ss | 6 |
2 files changed, 4 insertions, 8 deletions
diff --git a/sys/dev/microcode/siop/esiop.ss b/sys/dev/microcode/siop/esiop.ss index 81aaf085f0b..7fda2cc0141 100644 --- a/sys/dev/microcode/siop/esiop.ss +++ b/sys/dev/microcode/siop/esiop.ss @@ -1,4 +1,4 @@ -; $NetBSD: esiop.ss,v 1.17 2004/05/17 11:10:24 bouyer Exp $ +; $NetBSD: esiop.ss,v 1.18 2004/05/17 18:37:02 bouyer Exp $ ; ; Copyright (c) 2002 Manuel Bouyer. @@ -342,11 +342,9 @@ handle_msgin: JUMP REL(handle_extin), IF 0x01 ; extended message INT int_msgin, IF NOT 0x04; CALL REL(disconnect) ; disconnect message -; if we didn't get sdp, or if offset is 0, no need to interrupt +; if we didn't get sdp, no need to interrupt MOVE SCRATCHC0 & f_c_sdp TO SFBR; JUMP REL(script_sched), if 0x00; - MOVE SCRATCHA1 TO SFBR; - JUMP REL(script_sched), if 0x00; ; Ok, we need to save data pointers INT int_disc; diff --git a/sys/dev/microcode/siop/siop.ss b/sys/dev/microcode/siop/siop.ss index 4c9f5810eda..982552a99be 100644 --- a/sys/dev/microcode/siop/siop.ss +++ b/sys/dev/microcode/siop/siop.ss @@ -1,4 +1,4 @@ -; $NetBSD: siop.ss,v 1.17 2002/07/26 14:11:34 wiz Exp $ +; $NetBSD: siop.ss,v 1.18 2004/05/17 18:37:02 bouyer Exp $ ; ; Copyright (c) 2000 Manuel Bouyer. @@ -260,11 +260,9 @@ handle_msgin: JUMP REL(handle_extin), IF 0x01 ; extended message INT int_msgin, IF not 0x04; CALL REL(disconnect) ; disconnect message; -; if we didn't get sdp, or if offset is 0, no need to interrupt +; if we didn't get sdp, no need to interrupt MOVE SCRATCHA0 & flag_sdp TO SFBR; JUMP REL(script_sched), if 0x00; - MOVE SCRATCHA1 TO SFBR; - JUMP REL(script_sched), if 0x00; ; Ok, we need to save data pointers INT int_disc; msgin_ack: |
