diff options
author | peter <peter@FreeBSD.org> | 2000-03-02 03:45:41 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2000-03-02 03:45:41 +0000 |
commit | 43f5583c5c2c00ddb58c3c5527ab57dad165c750 (patch) | |
tree | ccfb8ff56c0157f494517d9c509c00927e6f15ff | |
parent | a4d1a0ddb743a661a5422bdfba856eecdf6cdbd3 (diff) | |
download | FreeBSD-src-43f5583c5c2c00ddb58c3c5527ab57dad165c750.zip FreeBSD-src-43f5583c5c2c00ddb58c3c5527ab57dad165c750.tar.gz |
Fix two more problems with freeing the softc data manually. subr_bus.c
is responsible for this and this will lead to malloc 'freeing already
free' type panics. One was in the probe code, the other was in the
pccard eject? code.
Not explicitly approved by: jkh (but the first is fallout from subr_bus.c
rev 1.54 which was an approved commit, the second is the same problem)
-rw-r--r-- | sys/dev/sio/sio.c | 2 | ||||
-rw-r--r-- | sys/isa/sio.c | 2 |
2 files changed, 0 insertions, 4 deletions
diff --git a/sys/dev/sio/sio.c b/sys/dev/sio/sio.c index 0876620..890c2e4 100644 --- a/sys/dev/sio/sio.c +++ b/sys/dev/sio/sio.c @@ -1052,7 +1052,6 @@ sioattach(dev) com->it_in.c_ispeed = com->it_in.c_ospeed = TTYDEF_SPEED; if (siosetwater(com, com->it_in.c_ispeed) != 0) { enable_intr(); - free(com, M_DEVBUF); /* * Leave i/o resources allocated if this is a `cn'-level * console, so that other devices can't snarf them. @@ -1440,7 +1439,6 @@ sioclose(dev, flag, mode, p) if (com->ibuf != NULL) free(com->ibuf, M_DEVBUF); bzero(tp, sizeof *tp); - free(com, M_DEVBUF); splx(s); } return (0); diff --git a/sys/isa/sio.c b/sys/isa/sio.c index 0876620..890c2e4 100644 --- a/sys/isa/sio.c +++ b/sys/isa/sio.c @@ -1052,7 +1052,6 @@ sioattach(dev) com->it_in.c_ispeed = com->it_in.c_ospeed = TTYDEF_SPEED; if (siosetwater(com, com->it_in.c_ispeed) != 0) { enable_intr(); - free(com, M_DEVBUF); /* * Leave i/o resources allocated if this is a `cn'-level * console, so that other devices can't snarf them. @@ -1440,7 +1439,6 @@ sioclose(dev, flag, mode, p) if (com->ibuf != NULL) free(com->ibuf, M_DEVBUF); bzero(tp, sizeof *tp); - free(com, M_DEVBUF); splx(s); } return (0); |