diff options
author | ru <ru@FreeBSD.org> | 2005-10-13 21:11:20 +0000 |
---|---|---|
committer | ru <ru@FreeBSD.org> | 2005-10-13 21:11:20 +0000 |
commit | b9c7add838ccaace56cbb1d065e502e478f92d4e (patch) | |
tree | 42d971c6d541bfdfd3204acba1a4ae6004c37124 /sys/contrib | |
parent | 9d4f7296d4bd26d172e55a582c41d028d6dceb40 (diff) | |
download | FreeBSD-src-b9c7add838ccaace56cbb1d065e502e478f92d4e.zip FreeBSD-src-b9c7add838ccaace56cbb1d065e502e478f92d4e.tar.gz |
In detach method, move if_free() after bus_teardown_intr().
Diffstat (limited to 'sys/contrib')
-rw-r--r-- | sys/contrib/dev/oltr/if_oltr_pci.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/contrib/dev/oltr/if_oltr_pci.c b/sys/contrib/dev/oltr/if_oltr_pci.c index 8c7be2e..773e9b2 100644 --- a/sys/contrib/dev/oltr/if_oltr_pci.c +++ b/sys/contrib/dev/oltr/if_oltr_pci.c @@ -241,7 +241,6 @@ oltr_pci_detach(device_t dev) s = splimp(); iso88025_ifdetach(ifp, ISO88025_BPF_SUPPORTED); - if_free(ifp); if (sc->state > OL_CLOSED) oltr_stop(sc); @@ -251,6 +250,8 @@ oltr_pci_detach(device_t dev) bus_teardown_intr(dev, sc->irq_res, sc->oltr_intrhand); bus_release_resource(dev, SYS_RES_IRQ, 0, sc->irq_res); + if_free(ifp); + /* Deallocate all dynamic memory regions */ for (i = 0; i < RING_BUFFER_LEN; i++) { free(sc->rx_ring[i].data, M_DEVBUF); |