diff --git a/sys/dev/ic/ncr53c9x.c b/sys/dev/ic/ncr53c9x.c index ec3f5a26bd24..37913ef5ee7c 100644 --- a/sys/dev/ic/ncr53c9x.c +++ b/sys/dev/ic/ncr53c9x.c @@ -1,4 +1,4 @@ -/* $NetBSD: ncr53c9x.c,v 1.110 2003/11/02 11:07:45 wiz Exp $ */ +/* $NetBSD: ncr53c9x.c,v 1.111 2004/05/03 12:25:34 pk Exp $ */ /*- * Copyright (c) 1998, 2002 The NetBSD Foundation, Inc. @@ -77,7 +77,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: ncr53c9x.c,v 1.110 2003/11/02 11:07:45 wiz Exp $"); +__KERNEL_RCSID(0, "$NetBSD: ncr53c9x.c,v 1.111 2004/05/03 12:25:34 pk Exp $"); #include #include @@ -495,7 +495,10 @@ ncr53c9x_init(sc, doreset) */ ncr53c9x_reset(sc); + sc->sc_flags = 0; + sc->sc_msgpriq = sc->sc_msgout = sc->sc_msgoutq = 0; sc->sc_phase = sc->sc_prevphase = INVALID_PHASE; + for (r = 0; r < sc->sc_ntarg; r++) { struct ncr53c9x_tinfo *ti = &sc->sc_tinfo[r]; /* XXX - config flags per target: low bits: no reselect; high bits: no synch */ @@ -521,6 +524,9 @@ ncr53c9x_init(sc, doreset) sc->sc_state = NCR_IDLE; ncr53c9x_sched(sc); } + + /* Notify upper layer */ + scsipi_async_event(&sc->sc_channel, ASYNC_EVENT_RESET, NULL); } /*