Deal with unrecognized SCSI message byte - restart script to clear the
ACK. No longer hangs the driver when an unhandled message byte is seen.
This commit is contained in:
parent
ce732c2d14
commit
58d3184539
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: siop.c,v 1.58 2007/10/17 19:53:17 garbled Exp $ */
|
||||
/* $NetBSD: siop.c,v 1.59 2008/12/08 22:05:13 mhitch Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
|
@ -70,7 +70,7 @@
|
|||
#include "opt_ddb.h"
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: siop.c,v 1.58 2007/10/17 19:53:17 garbled Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: siop.c,v 1.59 2008/12/08 22:05:13 mhitch Exp $");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
|
@ -1352,7 +1352,7 @@ siop_checkintr(struct siop_softc *sc, u_char istat, u_char dstat,
|
|||
sc->sc_dev.dv_xname, rp->siop_sfbr, acb->msg[1], rp->siop_sbcl);
|
||||
/* what should be done here? */
|
||||
DCIAS(kvtop(&acb->msg[1]));
|
||||
rp->siop_dsp = sc->sc_scriptspa + Ent_switch;
|
||||
rp->siop_dsp = sc->sc_scriptspa + Ent_clear_ack;
|
||||
return (0);
|
||||
}
|
||||
if (dstat & SIOP_DSTAT_SIR && rp->siop_dsps == 0xff0a) {
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: siop2.c,v 1.30 2007/10/17 19:53:17 garbled Exp $ */
|
||||
/* $NetBSD: siop2.c,v 1.31 2008/12/08 22:05:13 mhitch Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1990 The Regents of the University of California.
|
||||
|
@ -70,7 +70,7 @@
|
|||
#include "opt_ddb.h"
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: siop2.c,v 1.30 2007/10/17 19:53:17 garbled Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: siop2.c,v 1.31 2008/12/08 22:05:13 mhitch Exp $");
|
||||
|
||||
#include <sys/param.h>
|
||||
#include <sys/systm.h>
|
||||
|
@ -1474,7 +1474,7 @@ siopng_dump(sc);
|
|||
sc->sc_dev.dv_xname, rp->siop_sfbr, acb->msg[1], rp->siop_sbcl);
|
||||
/* what should be done here? */
|
||||
DCIAS(kvtop(&acb->msg[1]));
|
||||
rp->siop_dsp = sc->sc_scriptspa + Ent_switch;
|
||||
rp->siop_dsp = sc->sc_scriptspa + Ent_clear_ack;
|
||||
return (0);
|
||||
}
|
||||
if (dstat & SIOP_DSTAT_SIR && rp->siop_dsps == 0xff0a) {
|
||||
|
|
Loading…
Reference in New Issue