From 104d3c9ef67e45cdbb45100d6f7416ad9f6c75ba Mon Sep 17 00:00:00 2001 From: nate Date: Thu, 16 Jan 1997 18:57:19 +0000 Subject: Bring back the fix from 1.32 that got spammed by recent changes. --- sys/i386/isa/psm.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/i386/isa/psm.c b/sys/i386/isa/psm.c index f4da6f6..9aaed74 100644 --- a/sys/i386/isa/psm.c +++ b/sys/i386/isa/psm.c @@ -492,6 +492,8 @@ psmprobe(struct isa_device *dvp) if (unit >= NPSM) return (0); + psm_softc[unit] = NULL; + sc = malloc(sizeof *sc, M_DEVBUF, M_NOWAIT); bzero(sc, sizeof *sc); @@ -728,6 +730,9 @@ psmattach(struct isa_device *dvp) int unit = dvp->id_unit; struct psm_softc *sc = psm_softc[unit]; + if (sc == NULL) /* shouldn't happen */ + return (0); + /* initial operation mode */ sc->dflt_mode.accelfactor = sc->mode.accelfactor = PSM_ACCEL; sc->dflt_mode.protocol = sc->mode.protocol = MOUSE_PROTO_PS2; @@ -771,7 +776,7 @@ psmopen(dev_t dev, int flag, int fmt, struct proc *p) /* Get device data */ sc = psm_softc[unit]; - if ((sc->state & PSM_VALID) == 0) + if ((sc == NULL) || (sc->state & PSM_VALID) == 0) /* the device is no longer valid/functioning */ return (ENXIO); -- cgit v1.1