diff options
| author | Paul Saab <ps@FreeBSD.org> | 2004-07-01 06:56:10 +0000 |
|---|---|---|
| committer | Paul Saab <ps@FreeBSD.org> | 2004-07-01 06:56:10 +0000 |
| commit | 2673a446214826d93904ace1f46449243d1309cf (patch) | |
| tree | f23f3bf5e5560274b4ab8c9dc6ee8b01b137a21e /sys/dev/amr | |
| parent | b7c29ad503102c8907d92233e2b00cc5ef7d161e (diff) | |
Notes
Diffstat (limited to 'sys/dev/amr')
| -rw-r--r-- | sys/dev/amr/amr.c | 6 | ||||
| -rw-r--r-- | sys/dev/amr/amrvar.h | 1 |
2 files changed, 4 insertions, 3 deletions
diff --git a/sys/dev/amr/amr.c b/sys/dev/amr/amr.c index f206b02bb8ef..f1060ff57628 100644 --- a/sys/dev/amr/amr.c +++ b/sys/dev/amr/amr.c @@ -976,7 +976,7 @@ amr_quartz_poll_command(struct amr_command *ac) s = splbio(); - if (sc->amr_state & AMR_STATE_INTEN) { + if ((sc->amr_state & AMR_STATE_CRASHDUMP) == 0) { count=0; while (sc->amr_busyslots) { tsleep(sc, PRIBIO | PCATCH, "amrpoll", hz); @@ -1788,7 +1788,7 @@ amr_dump_blocks(struct amr_softc *sc, int unit, u_int32_t lba, void *data, int b debug_called(1); - sc->amr_state &= ~AMR_STATE_INTEN; + sc->amr_state |= AMR_STATE_CRASHDUMP; /* get ourselves a command buffer */ if ((ac = amr_alloccmd(sc)) == NULL) @@ -1815,7 +1815,7 @@ amr_dump_blocks(struct amr_softc *sc, int unit, u_int32_t lba, void *data, int b if (ac != NULL) amr_releasecmd(ac); - sc->amr_state |= AMR_STATE_INTEN; + sc->amr_state &= ~AMR_STATE_CRASHDUMP; return (error); } diff --git a/sys/dev/amr/amrvar.h b/sys/dev/amr/amrvar.h index fcfb39727eb7..224ae44c7a21 100644 --- a/sys/dev/amr/amrvar.h +++ b/sys/dev/amr/amrvar.h @@ -187,6 +187,7 @@ struct amr_softc #define AMR_STATE_SUSPEND (1<<1) #define AMR_STATE_INTEN (1<<2) #define AMR_STATE_SHUTDOWN (1<<3) +#define AMR_STATE_CRASHDUMP (1<<4) /* per-controller queues */ struct bio_queue_head amr_bioq; /* pending I/O with no commands */ |
