diff options
author | David Gwynne <dlg@cvs.openbsd.org> | 2010-09-10 04:46:25 +0000 |
---|---|---|
committer | David Gwynne <dlg@cvs.openbsd.org> | 2010-09-10 04:46:25 +0000 |
commit | 603bf4f04a941db10ee48b2f222bfd83ff76cffa (patch) | |
tree | 43cc4e890d682595c70235192528850bf5884f28 /sys/scsi/sd.c | |
parent | a77acf5b138d45ec9755987e30f29577d145e0b6 (diff) |
scsi_xsh_del the io handler in deactivate to prevent it from being run on
a device thats now gone, or from being on the list of pending io when
the device is actually detached.
found and fix tested by jakemsr@
"go for it" jakemsr@
Diffstat (limited to 'sys/scsi/sd.c')
-rw-r--r-- | sys/scsi/sd.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/scsi/sd.c b/sys/scsi/sd.c index fe08b311008..0513ca6a141 100644 --- a/sys/scsi/sd.c +++ b/sys/scsi/sd.c @@ -1,4 +1,4 @@ -/* $OpenBSD: sd.c,v 1.211 2010/09/08 15:16:22 jsing Exp $ */ +/* $OpenBSD: sd.c,v 1.212 2010/09/10 04:46:24 dlg Exp $ */ /* $NetBSD: sd.c,v 1.111 1997/04/02 02:29:41 mycroft Exp $ */ /*- @@ -291,6 +291,7 @@ sdactivate(struct device *self, int act) case DVACT_DEACTIVATE: sc->flags |= SDF_DYING; bufq_drain(&sc->sc_bufq); + scsi_xsh_del(&sc->sc_xsh); break; } return (rv); |