From 88cac66373365fa5ffc7d8ea4fd8a4f4152fa1d5 Mon Sep 17 00:00:00 2001 From: Nick Hibma Date: Sun, 21 Feb 1999 16:53:35 +0000 Subject: [PATCH] Bug fix: Trap 12 when ugen not present and therefore unattached physical device removed. --- sys/dev/usb/uhub.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/sys/dev/usb/uhub.c b/sys/dev/usb/uhub.c index 04c4054b073..5749f776609 100644 --- a/sys/dev/usb/uhub.c +++ b/sys/dev/usb/uhub.c @@ -456,9 +456,14 @@ uhub_disconnect_port(up) struct softc { /* all softc begin like this */ bdevice sc_dev; }; + struct softc *sc; + struct softc *scp; - struct softc *sc = (struct softc *)dev->softc; - struct softc *scp = (struct softc *)up->parent->softc; + if (!dev) /* no device driver attached at port */ + return; + + sc = (struct softc *)dev->softc; + scp = (struct softc *)up->parent->softc; DPRINTFN(3,("uhub_disconnect_port: up=%p dev=%p port=%d\n", up, dev, up->portno));