diff options
author | Justin T. Gibbs <gibbs@FreeBSD.org> | 1998-05-14 19:47:38 +0000 |
---|---|---|
committer | Justin T. Gibbs <gibbs@FreeBSD.org> | 1998-05-14 19:47:38 +0000 |
commit | c3f80129dc80b8328c573fade2bc0a04b4ef4f5e (patch) | |
tree | 43da0c126b52b98a4fca6843287e10054ed353a9 | |
parent | f46bdbccdbb4d68278a1affc035187d1838734f2 (diff) |
Notes
-rw-r--r-- | sys/dev/eisa/eisaconf.c | 8 | ||||
-rw-r--r-- | sys/i386/eisa/eisaconf.c | 8 |
2 files changed, 12 insertions, 4 deletions
diff --git a/sys/dev/eisa/eisaconf.c b/sys/dev/eisa/eisaconf.c index 02a1691349fd..11418e70bf67 100644 --- a/sys/dev/eisa/eisaconf.c +++ b/sys/dev/eisa/eisaconf.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: eisaconf.c,v 1.33 1997/11/07 08:52:24 phk Exp $ + * $Id: eisaconf.c,v 1.34 1998/02/09 06:08:09 eivind Exp $ */ #include "opt_eisa.h" @@ -452,10 +452,14 @@ eisa_release_intr(e_dev, irq, func) cur_irq = TAILQ_FIRST(&e_dev->ioconf.irqs); while (cur_irq != NULL) { if (cur_irq->irq_no == irq) { + struct irq_node *next_irq; + + next_irq = TAILQ_NEXT(cur_irq, links); if (cur_irq->idesc != NULL) intr_destroy(cur_irq->idesc); - cur_irq = TAILQ_NEXT(cur_irq, links); TAILQ_REMOVE(&e_dev->ioconf.irqs, cur_irq, links); + free(cur_irq, M_DEVBUF); + cur_irq = next_irq; result = 0; } else { cur_irq = TAILQ_NEXT(cur_irq, links); diff --git a/sys/i386/eisa/eisaconf.c b/sys/i386/eisa/eisaconf.c index 02a1691349fd..11418e70bf67 100644 --- a/sys/i386/eisa/eisaconf.c +++ b/sys/i386/eisa/eisaconf.c @@ -28,7 +28,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: eisaconf.c,v 1.33 1997/11/07 08:52:24 phk Exp $ + * $Id: eisaconf.c,v 1.34 1998/02/09 06:08:09 eivind Exp $ */ #include "opt_eisa.h" @@ -452,10 +452,14 @@ eisa_release_intr(e_dev, irq, func) cur_irq = TAILQ_FIRST(&e_dev->ioconf.irqs); while (cur_irq != NULL) { if (cur_irq->irq_no == irq) { + struct irq_node *next_irq; + + next_irq = TAILQ_NEXT(cur_irq, links); if (cur_irq->idesc != NULL) intr_destroy(cur_irq->idesc); - cur_irq = TAILQ_NEXT(cur_irq, links); TAILQ_REMOVE(&e_dev->ioconf.irqs, cur_irq, links); + free(cur_irq, M_DEVBUF); + cur_irq = next_irq; result = 0; } else { cur_irq = TAILQ_NEXT(cur_irq, links); |