Page MenuHomeFreeBSD

D47961.diff
No OneTemporary

D47961.diff

diff --git a/sys/arm/allwinner/if_emac.c b/sys/arm/allwinner/if_emac.c
--- a/sys/arm/allwinner/if_emac.c
+++ b/sys/arm/allwinner/if_emac.c
@@ -811,10 +811,7 @@
bus_teardown_intr(sc->emac_dev, sc->emac_irq,
sc->emac_intrhand);
- if (sc->emac_miibus != NULL) {
- device_delete_child(sc->emac_dev, sc->emac_miibus);
- bus_generic_detach(sc->emac_dev);
- }
+ bus_generic_detach(sc->emac_dev);
if (sc->emac_clk != NULL)
clk_disable(sc->emac_clk);
diff --git a/sys/dev/ae/if_ae.c b/sys/dev/ae/if_ae.c
--- a/sys/dev/ae/if_ae.c
+++ b/sys/dev/ae/if_ae.c
@@ -761,10 +761,6 @@
taskqueue_free(sc->tq);
sc->tq = NULL;
}
- if (sc->miibus != NULL) {
- device_delete_child(dev, sc->miibus);
- sc->miibus = NULL;
- }
bus_generic_detach(sc->dev);
ae_dma_free(sc);
if (sc->intrhand != NULL) {
diff --git a/sys/dev/age/if_age.c b/sys/dev/age/if_age.c
--- a/sys/dev/age/if_age.c
+++ b/sys/dev/age/if_age.c
@@ -686,10 +686,6 @@
sc->age_tq = NULL;
}
- if (sc->age_miibus != NULL) {
- device_delete_child(dev, sc->age_miibus);
- sc->age_miibus = NULL;
- }
bus_generic_detach(dev);
age_dma_free(sc);
diff --git a/sys/dev/alc/if_alc.c b/sys/dev/alc/if_alc.c
--- a/sys/dev/alc/if_alc.c
+++ b/sys/dev/alc/if_alc.c
@@ -1699,10 +1699,6 @@
sc->alc_tq = NULL;
}
- if (sc->alc_miibus != NULL) {
- device_delete_child(dev, sc->alc_miibus);
- sc->alc_miibus = NULL;
- }
bus_generic_detach(dev);
alc_dma_free(sc);
diff --git a/sys/dev/ale/if_ale.c b/sys/dev/ale/if_ale.c
--- a/sys/dev/ale/if_ale.c
+++ b/sys/dev/ale/if_ale.c
@@ -711,10 +711,6 @@
sc->ale_tq = NULL;
}
- if (sc->ale_miibus != NULL) {
- device_delete_child(dev, sc->ale_miibus);
- sc->ale_miibus = NULL;
- }
bus_generic_detach(dev);
ale_dma_free(sc);
diff --git a/sys/dev/dc/if_dc.c b/sys/dev/dc/if_dc.c
--- a/sys/dev/dc/if_dc.c
+++ b/sys/dev/dc/if_dc.c
@@ -2539,8 +2539,6 @@
callout_drain(&sc->dc_wdog_ch);
ether_ifdetach(ifp);
}
- if (sc->dc_miibus)
- device_delete_child(dev, sc->dc_miibus);
bus_generic_detach(dev);
if (sc->dc_intrhand)
diff --git a/sys/dev/dwc/if_dwc.c b/sys/dev/dwc/if_dwc.c
--- a/sys/dev/dwc/if_dwc.c
+++ b/sys/dev/dwc/if_dwc.c
@@ -656,10 +656,6 @@
ether_ifdetach(sc->ifp);
}
- if (sc->miibus != NULL) {
- device_delete_child(dev, sc->miibus);
- sc->miibus = NULL;
- }
bus_generic_detach(dev);
/* Free DMA descriptors */
diff --git a/sys/dev/eqos/if_eqos.c b/sys/dev/eqos/if_eqos.c
--- a/sys/dev/eqos/if_eqos.c
+++ b/sys/dev/eqos/if_eqos.c
@@ -1216,8 +1216,6 @@
ether_ifdetach(sc->ifp);
}
- if (sc->miibus)
- device_delete_child(dev, sc->miibus);
bus_generic_detach(dev);
if (sc->irq_handle)
diff --git a/sys/dev/et/if_et.c b/sys/dev/et/if_et.c
--- a/sys/dev/et/if_et.c
+++ b/sys/dev/et/if_et.c
@@ -370,8 +370,6 @@
callout_drain(&sc->sc_tick);
}
- if (sc->sc_miibus != NULL)
- device_delete_child(dev, sc->sc_miibus);
bus_generic_detach(dev);
if (sc->sc_irq_handle != NULL)
diff --git a/sys/dev/fxp/if_fxp.c b/sys/dev/fxp/if_fxp.c
--- a/sys/dev/fxp/if_fxp.c
+++ b/sys/dev/fxp/if_fxp.c
@@ -933,8 +933,6 @@
FXP_LOCK_ASSERT(sc, MA_NOTOWNED);
KASSERT(sc->ih == NULL,
("fxp_release() called with intr handle still active"));
- if (sc->miibus)
- device_delete_child(sc->dev, sc->miibus);
bus_generic_detach(sc->dev);
ifmedia_removeall(&sc->sc_media);
if (sc->fxp_desc.cbl_list) {
diff --git a/sys/dev/ips/ips.c b/sys/dev/ips/ips.c
--- a/sys/dev/ips/ips.c
+++ b/sys/dev/ips/ips.c
@@ -279,17 +279,7 @@
static int ips_diskdev_free(ips_softc_t *sc)
{
- int i;
- int error = 0;
- for(i = 0; i < IPS_MAX_NUM_DRIVES; i++){
- if(sc->diskdev[i]) {
- error = device_delete_child(sc->dev, sc->diskdev[i]);
- if(error)
- return error;
- }
- }
- bus_generic_detach(sc->dev);
- return 0;
+ return (bus_generic_detach(sc->dev));
}
/* ips_timeout is periodically called to make sure no commands sent
diff --git a/sys/dev/jme/if_jme.c b/sys/dev/jme/if_jme.c
--- a/sys/dev/jme/if_jme.c
+++ b/sys/dev/jme/if_jme.c
@@ -928,10 +928,6 @@
sc->jme_tq = NULL;
}
- if (sc->jme_miibus != NULL) {
- device_delete_child(dev, sc->jme_miibus);
- sc->jme_miibus = NULL;
- }
bus_generic_detach(dev);
jme_dma_free(sc);
diff --git a/sys/dev/msk/if_msk.c b/sys/dev/msk/if_msk.c
--- a/sys/dev/msk/if_msk.c
+++ b/sys/dev/msk/if_msk.c
@@ -2020,17 +2020,6 @@
MSK_IF_LOCK(sc_if);
}
- /*
- * We're generally called from mskc_detach() which is using
- * device_delete_child() to get to here. It's already trashed
- * miibus for us, so don't do it here or we'll panic.
- *
- * if (sc_if->msk_miibus != NULL) {
- * device_delete_child(dev, sc_if->msk_miibus);
- * sc_if->msk_miibus = NULL;
- * }
- */
-
msk_rx_dma_jfree(sc_if);
msk_txrx_dma_free(sc_if);
bus_generic_detach(dev);
@@ -2058,15 +2047,7 @@
sc = device_get_softc(dev);
KASSERT(mtx_initialized(&sc->msk_mtx), ("msk mutex not initialized"));
- if (device_is_alive(dev)) {
- if (sc->msk_devs[MSK_PORT_A] != NULL) {
- device_delete_child(dev, sc->msk_devs[MSK_PORT_A]);
- }
- if (sc->msk_devs[MSK_PORT_B] != NULL) {
- device_delete_child(dev, sc->msk_devs[MSK_PORT_B]);
- }
- bus_generic_detach(dev);
- }
+ bus_generic_detach(dev);
/* Disable all interrupts. */
CSR_WRITE_4(sc, B0_IMSK, 0);
diff --git a/sys/dev/nfe/if_nfe.c b/sys/dev/nfe/if_nfe.c
--- a/sys/dev/nfe/if_nfe.c
+++ b/sys/dev/nfe/if_nfe.c
@@ -711,8 +711,6 @@
nfe_set_macaddr(sc, eaddr);
if_free(ifp);
}
- if (sc->nfe_miibus)
- device_delete_child(dev, sc->nfe_miibus);
bus_generic_detach(dev);
if (sc->nfe_tq != NULL) {
taskqueue_drain(sc->nfe_tq, &sc->nfe_int_task);
diff --git a/sys/dev/nge/if_nge.c b/sys/dev/nge/if_nge.c
--- a/sys/dev/nge/if_nge.c
+++ b/sys/dev/nge/if_nge.c
@@ -999,10 +999,6 @@
ether_ifdetach(ifp);
}
- if (sc->nge_miibus != NULL) {
- device_delete_child(dev, sc->nge_miibus);
- sc->nge_miibus = NULL;
- }
bus_generic_detach(dev);
if (sc->nge_intrhand != NULL)
bus_teardown_intr(dev, sc->nge_irq, sc->nge_intrhand);
diff --git a/sys/dev/pccbb/pccbb.c b/sys/dev/pccbb/pccbb.c
--- a/sys/dev/pccbb/pccbb.c
+++ b/sys/dev/pccbb/pccbb.c
@@ -275,42 +275,12 @@
cbb_detach(device_t brdev)
{
struct cbb_softc *sc = device_get_softc(brdev);
- device_t *devlist;
- int tmp, tries, error, numdevs;
+ int error;
- /*
- * Before we delete the children (which we have to do because
- * attach doesn't check for children busses correctly), we have
- * to detach the children. Even if we didn't need to delete the
- * children, we have to detach them.
- */
error = bus_generic_detach(brdev);
if (error != 0)
return (error);
- /*
- * Since the attach routine doesn't search for children before it
- * attaches them to this device, we must delete them here in order
- * for the kldload/unload case to work. If we failed to do that, then
- * we'd get duplicate devices when cbb.ko was reloaded.
- */
- tries = 10;
- do {
- error = device_get_children(brdev, &devlist, &numdevs);
- if (error == 0)
- break;
- /*
- * Try hard to cope with low memory.
- */
- if (error == ENOMEM) {
- pause("cbbnomem", 1);
- continue;
- }
- } while (tries-- > 0);
- for (tmp = 0; tmp < numdevs; tmp++)
- device_delete_child(brdev, devlist[tmp]);
- free(devlist, M_TEMP);
-
/* Turn off the interrupts */
cbb_set(sc, CBB_SOCKET_MASK, 0);
diff --git a/sys/dev/re/if_re.c b/sys/dev/re/if_re.c
--- a/sys/dev/re/if_re.c
+++ b/sys/dev/re/if_re.c
@@ -1803,8 +1803,6 @@
if_setflagbits(ifp, 0, IFF_UP);
ether_ifdetach(ifp);
}
- if (sc->rl_miibus)
- device_delete_child(dev, sc->rl_miibus);
bus_generic_detach(dev);
/*
diff --git a/sys/dev/rl/if_rl.c b/sys/dev/rl/if_rl.c
--- a/sys/dev/rl/if_rl.c
+++ b/sys/dev/rl/if_rl.c
@@ -882,8 +882,6 @@
#if 0
sc->suspended = 1;
#endif
- if (sc->rl_miibus)
- device_delete_child(dev, sc->rl_miibus);
bus_generic_detach(dev);
if (sc->rl_intrhand[0])
diff --git a/sys/dev/sge/if_sge.c b/sys/dev/sge/if_sge.c
--- a/sys/dev/sge/if_sge.c
+++ b/sys/dev/sge/if_sge.c
@@ -675,8 +675,6 @@
SGE_UNLOCK(sc);
callout_drain(&sc->sge_stat_ch);
}
- if (sc->sge_miibus)
- device_delete_child(dev, sc->sge_miibus);
bus_generic_detach(dev);
if (sc->sge_intrhand)
diff --git a/sys/dev/sis/if_sis.c b/sys/dev/sis/if_sis.c
--- a/sys/dev/sis/if_sis.c
+++ b/sys/dev/sis/if_sis.c
@@ -1146,8 +1146,6 @@
callout_drain(&sc->sis_stat_ch);
ether_ifdetach(ifp);
}
- if (sc->sis_miibus)
- device_delete_child(dev, sc->sis_miibus);
bus_generic_detach(dev);
if (sc->sis_intrhand)
diff --git a/sys/dev/sk/if_sk.c b/sys/dev/sk/if_sk.c
--- a/sys/dev/sk/if_sk.c
+++ b/sys/dev/sk/if_sk.c
@@ -1771,15 +1771,6 @@
ether_ifdetach(ifp);
SK_IF_LOCK(sc_if);
}
- /*
- * We're generally called from skc_detach() which is using
- * device_delete_child() to get to here. It's already trashed
- * miibus for us, so don't do it here or we'll panic.
- */
- /*
- if (sc_if->sk_miibus != NULL)
- device_delete_child(dev, sc_if->sk_miibus);
- */
bus_generic_detach(dev);
sk_dma_jumbo_free(sc_if);
sk_dma_free(sc_if);
@@ -1798,15 +1789,7 @@
sc = device_get_softc(dev);
KASSERT(mtx_initialized(&sc->sk_mtx), ("sk mutex not initialized"));
- if (device_is_alive(dev)) {
- if (sc->sk_devs[SK_PORT_A] != NULL) {
- device_delete_child(dev, sc->sk_devs[SK_PORT_A]);
- }
- if (sc->sk_devs[SK_PORT_B] != NULL) {
- device_delete_child(dev, sc->sk_devs[SK_PORT_B]);
- }
- bus_generic_detach(dev);
- }
+ bus_generic_detach(dev);
if (sc->sk_intrhand)
bus_teardown_intr(dev, sc->sk_res[1], sc->sk_intrhand);
diff --git a/sys/dev/smc/if_smc.c b/sys/dev/smc/if_smc.c
--- a/sys/dev/smc/if_smc.c
+++ b/sys/dev/smc/if_smc.c
@@ -450,10 +450,7 @@
if_free(sc->smc_ifp);
}
- if (sc->smc_miibus != NULL) {
- device_delete_child(sc->smc_dev, sc->smc_miibus);
- bus_generic_detach(sc->smc_dev);
- }
+ bus_generic_detach(sc->smc_dev);
if (sc->smc_reg != NULL) {
type = SYS_RES_IOPORT;
diff --git a/sys/dev/ste/if_ste.c b/sys/dev/ste/if_ste.c
--- a/sys/dev/ste/if_ste.c
+++ b/sys/dev/ste/if_ste.c
@@ -1074,8 +1074,6 @@
STE_UNLOCK(sc);
callout_drain(&sc->ste_callout);
}
- if (sc->ste_miibus)
- device_delete_child(dev, sc->ste_miibus);
bus_generic_detach(dev);
if (sc->ste_intrhand)
diff --git a/sys/dev/stge/if_stge.c b/sys/dev/stge/if_stge.c
--- a/sys/dev/stge/if_stge.c
+++ b/sys/dev/stge/if_stge.c
@@ -672,10 +672,6 @@
ether_ifdetach(ifp);
}
- if (sc->sc_miibus != NULL) {
- device_delete_child(dev, sc->sc_miibus);
- sc->sc_miibus = NULL;
- }
bus_generic_detach(dev);
stge_dma_free(sc);
diff --git a/sys/dev/vge/if_vge.c b/sys/dev/vge/if_vge.c
--- a/sys/dev/vge/if_vge.c
+++ b/sys/dev/vge/if_vge.c
@@ -1177,8 +1177,6 @@
VGE_UNLOCK(sc);
callout_drain(&sc->vge_watchdog);
}
- if (sc->vge_miibus)
- device_delete_child(dev, sc->vge_miibus);
bus_generic_detach(dev);
if (sc->vge_intrhand)
diff --git a/sys/dev/vr/if_vr.c b/sys/dev/vr/if_vr.c
--- a/sys/dev/vr/if_vr.c
+++ b/sys/dev/vr/if_vr.c
@@ -838,8 +838,6 @@
taskqueue_drain(taskqueue_fast, &sc->vr_inttask);
ether_ifdetach(ifp);
}
- if (sc->vr_miibus)
- device_delete_child(dev, sc->vr_miibus);
bus_generic_detach(dev);
if (sc->vr_intrhand)
diff --git a/sys/dev/vte/if_vte.c b/sys/dev/vte/if_vte.c
--- a/sys/dev/vte/if_vte.c
+++ b/sys/dev/vte/if_vte.c
@@ -506,10 +506,6 @@
ether_ifdetach(ifp);
}
- if (sc->vte_miibus != NULL) {
- device_delete_child(dev, sc->vte_miibus);
- sc->vte_miibus = NULL;
- }
bus_generic_detach(dev);
if (sc->vte_intrhand != NULL) {
diff --git a/sys/dev/xl/if_xl.c b/sys/dev/xl/if_xl.c
--- a/sys/dev/xl/if_xl.c
+++ b/sys/dev/xl/if_xl.c
@@ -1572,8 +1572,6 @@
callout_drain(&sc->xl_tick_callout);
ether_ifdetach(ifp);
}
- if (sc->xl_miibus)
- device_delete_child(dev, sc->xl_miibus);
bus_generic_detach(dev);
ifmedia_removeall(&sc->ifmedia);

File Metadata

Mime Type
text/plain
Expires
Tue, Feb 24, 12:50 PM (9 h, 6 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
28973871
Default Alt Text
D47961.diff (11 KB)

Event Timeline