diff options
Diffstat (limited to 'sys/dev/lge/if_lge.c')
-rw-r--r-- | sys/dev/lge/if_lge.c | 13 |
1 files changed, 3 insertions, 10 deletions
diff --git a/sys/dev/lge/if_lge.c b/sys/dev/lge/if_lge.c index d77866ee3cad..c5cfafc0bd22 100644 --- a/sys/dev/lge/if_lge.c +++ b/sys/dev/lge/if_lge.c @@ -512,11 +512,6 @@ lge_attach(device_t dev) } ifp = sc->lge_ifp = if_alloc(IFT_ETHER); - if (ifp == NULL) { - device_printf(dev, "can not if_alloc()\n"); - error = ENOSPC; - goto fail; - } if_setsoftc(ifp, sc); if_initname(ifp, device_get_name(dev), device_get_unit(dev)); if_setflags(ifp, IFF_BROADCAST | IFF_SIMPLEX | IFF_MULTICAST); @@ -560,8 +555,7 @@ lge_attach(device_t dev) fail: lge_free_jumbo_mem(sc); if (sc->lge_ldata) - contigfree(sc->lge_ldata, - sizeof(struct lge_list_data), M_DEVBUF); + free(sc->lge_ldata, M_DEVBUF); if (ifp) if_free(ifp); if (sc->lge_irq) @@ -589,13 +583,12 @@ lge_detach(device_t dev) ether_ifdetach(ifp); bus_generic_detach(dev); - device_delete_child(dev, sc->lge_miibus); bus_teardown_intr(dev, sc->lge_irq, sc->lge_intrhand); bus_release_resource(dev, SYS_RES_IRQ, 0, sc->lge_irq); bus_release_resource(dev, LGE_RES, LGE_RID, sc->lge_res); - contigfree(sc->lge_ldata, sizeof(struct lge_list_data), M_DEVBUF); + free(sc->lge_ldata, M_DEVBUF); if_free(ifp); lge_free_jumbo_mem(sc); mtx_destroy(&sc->lge_mtx); @@ -789,7 +782,7 @@ lge_free_jumbo_mem(struct lge_softc *sc) free(entry, M_DEVBUF); } - contigfree(sc->lge_cdata.lge_jumbo_buf, LGE_JMEM, M_DEVBUF); + free(sc->lge_cdata.lge_jumbo_buf, M_DEVBUF); return; } |