Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F165140917
D47966.id148690.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D47966.id148690.diff
View Options
diff --git a/sys/arm/nvidia/tegra_sdhci.c b/sys/arm/nvidia/tegra_sdhci.c
--- a/sys/arm/nvidia/tegra_sdhci.c
+++ b/sys/arm/nvidia/tegra_sdhci.c
@@ -417,8 +417,12 @@
{
struct tegra_sdhci_softc *sc = device_get_softc(dev);
struct sdhci_slot *slot = &sc->slot;
+ int error;
+
+ error = bus_detach_children(dev);
+ if (error != 0)
+ return (error);
- bus_detach_children(dev);
sdhci_fdt_gpio_teardown(sc->gpio);
clk_release(sc->clk);
bus_teardown_intr(dev, sc->irq_res, sc->intr_cookie);
diff --git a/sys/arm/ti/cpsw/if_cpsw.c b/sys/arm/ti/cpsw/if_cpsw.c
--- a/sys/arm/ti/cpsw/if_cpsw.c
+++ b/sys/arm/ti/cpsw/if_cpsw.c
@@ -1085,6 +1085,11 @@
cpswp_detach(device_t dev)
{
struct cpswp_softc *sc;
+ int error;
+
+ error = bus_generic_detach(dev);
+ if (error != 0)
+ return (error);
sc = device_get_softc(dev);
CPSW_DEBUGF(sc->swsc, (""));
@@ -1096,8 +1101,6 @@
callout_drain(&sc->mii_callout);
}
- bus_generic_detach(dev);
-
if_free(sc->ifp);
mtx_destroy(&sc->lock);
diff --git a/sys/arm/ti/ti_spi.c b/sys/arm/ti/ti_spi.c
--- a/sys/arm/ti/ti_spi.c
+++ b/sys/arm/ti/ti_spi.c
@@ -273,6 +273,11 @@
ti_spi_detach(device_t dev)
{
struct ti_spi_softc *sc;
+ int error;
+
+ error = bus_generic_detach(dev);
+ if (error != 0)
+ return (error);
sc = device_get_softc(dev);
@@ -283,8 +288,6 @@
/* Reset controller. */
TI_SPI_WRITE(sc, MCSPI_SYSCONFIG, MCSPI_SYSCONFIG_SOFTRESET);
- bus_generic_detach(dev);
-
mtx_destroy(&sc->sc_mtx);
if (sc->sc_intrhand)
bus_teardown_intr(dev, sc->sc_irq_res, sc->sc_intrhand);
diff --git a/sys/arm/xilinx/zy7_devcfg.c b/sys/arm/xilinx/zy7_devcfg.c
--- a/sys/arm/xilinx/zy7_devcfg.c
+++ b/sys/arm/xilinx/zy7_devcfg.c
@@ -791,15 +791,17 @@
zy7_devcfg_detach(device_t dev)
{
struct zy7_devcfg_softc *sc = device_get_softc(dev);
+ int error;
+
+ error = bus_generic_detach(dev);
+ if (error != 0)
+ return (error);
if (sc->sysctl_tree_top != NULL) {
sysctl_ctx_free(&sc->sysctl_tree);
sc->sysctl_tree_top = NULL;
}
- if (device_is_attached(dev))
- bus_generic_detach(dev);
-
/* Get rid of /dev/devcfg0. */
if (sc->sc_ctl_dev != NULL)
destroy_dev(sc->sc_ctl_dev);
diff --git a/sys/arm/xilinx/zy7_qspi.c b/sys/arm/xilinx/zy7_qspi.c
--- a/sys/arm/xilinx/zy7_qspi.c
+++ b/sys/arm/xilinx/zy7_qspi.c
@@ -612,9 +612,11 @@
zy7_qspi_detach(device_t dev)
{
struct zy7_qspi_softc *sc = device_get_softc(dev);
+ int error;
- if (device_is_attached(dev))
- bus_generic_detach(dev);
+ error = bus_generic_detach(dev);
+ if (error != 0)
+ return (error);
/* Disable hardware. */
if (sc->mem_res != NULL) {
diff --git a/sys/arm/xilinx/zy7_slcr.c b/sys/arm/xilinx/zy7_slcr.c
--- a/sys/arm/xilinx/zy7_slcr.c
+++ b/sys/arm/xilinx/zy7_slcr.c
@@ -673,8 +673,11 @@
zy7_slcr_detach(device_t dev)
{
struct zy7_slcr_softc *sc = device_get_softc(dev);
+ int error;
- bus_generic_detach(dev);
+ error = bus_generic_detach(dev);
+ if (error != 0)
+ return (error);
/* Release memory resource. */
if (sc->mem_res != NULL)
diff --git a/sys/arm/xilinx/zy7_spi.c b/sys/arm/xilinx/zy7_spi.c
--- a/sys/arm/xilinx/zy7_spi.c
+++ b/sys/arm/xilinx/zy7_spi.c
@@ -448,9 +448,11 @@
zy7_spi_detach(device_t dev)
{
struct zy7_spi_softc *sc = device_get_softc(dev);
+ int error;
- if (device_is_attached(dev))
- bus_generic_detach(dev);
+ error = bus_generic_detach(dev);
+ if (error != 0)
+ return (error);
/* Disable hardware. */
if (sc->mem_res != NULL) {
diff --git a/sys/dev/etherswitch/felix/felix.c b/sys/dev/etherswitch/felix/felix.c
--- a/sys/dev/etherswitch/felix/felix.c
+++ b/sys/dev/etherswitch/felix/felix.c
@@ -480,9 +480,10 @@
int error;
int i;
- error = 0;
sc = device_get_softc(dev);
- bus_generic_detach(dev);
+ error = bus_generic_detach(dev);
+ if (error != 0)
+ return (error);
mtx_lock(&sc->mtx);
callout_stop(&sc->tick_callout);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Aug 7, 9:04 AM (18 h, 38 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
36154981
Default Alt Text
D47966.id148690.diff (3 KB)
Attached To
Mode
D47966: Check for errors from bus_generic_detach in various drivers
Attached
Detach File
Event Timeline
Log In to Comment