Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/ic Ops, need to restore correct DSA value after a ph...



details:   https://anonhg.NetBSD.org/src/rev/da4d3b4b1e2c
branches:  trunk
changeset: 485352:da4d3b4b1e2c
user:      bouyer <bouyer%NetBSD.org@localhost>
date:      Tue Apr 25 20:02:33 2000 +0000

description:
Ops, need to restore correct DSA value after a phase mismatch, we may have
been interrupted during a S/G operation.

diffstat:

 sys/dev/ic/siop.c |  8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diffs (22 lines):

diff -r 9dd0e59b613e -r da4d3b4b1e2c sys/dev/ic/siop.c
--- a/sys/dev/ic/siop.c Tue Apr 25 19:59:50 2000 +0000
+++ b/sys/dev/ic/siop.c Tue Apr 25 20:02:33 2000 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: siop.c,v 1.2 2000/04/25 16:27:05 bouyer Exp $  */
+/*     $NetBSD: siop.c,v 1.3 2000/04/25 20:02:33 bouyer Exp $  */
 
 /*
  * Copyright (c) 2000 Manuel Bouyer.
@@ -532,6 +532,12 @@
                }
                if ((sist0 & SIST0_MA) && need_reset == 0) {
                        if (siop_cmd) { 
+                               /*
+                                * first restore DSA, in case we were in a S/G
+                                * operation.
+                                */
+                               bus_space_write_4(sc->sc_rt, sc->sc_rh,
+                                   SIOP_DSA, htole32(siop_cmd->dsa));
                                switch (sstat1 & SSTAT1_PHASE_MASK) {
                                case SSTAT1_PHASE_STATUS:
                                /*



Home | Main Index | Thread Index | Old Index