diff options
Diffstat (limited to 'sys/dev/amdsmb/amdsmb.c')
-rw-r--r-- | sys/dev/amdsmb/amdsmb.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/sys/dev/amdsmb/amdsmb.c b/sys/dev/amdsmb/amdsmb.c index 565e73cf1f64..3d2e7a5e0c19 100644 --- a/sys/dev/amdsmb/amdsmb.c +++ b/sys/dev/amdsmb/amdsmb.c @@ -159,13 +159,13 @@ amdsmb_attach(device_t dev) mtx_init(&amdsmb_sc->lock, device_get_nameunit(dev), "amdsmb", MTX_DEF); /* Allocate a new smbus device */ - amdsmb_sc->smbus = device_add_child(dev, "smbus", -1); + amdsmb_sc->smbus = device_add_child(dev, "smbus", DEVICE_UNIT_ANY); if (!amdsmb_sc->smbus) { amdsmb_detach(dev); return (EINVAL); } - bus_generic_attach(dev); + bus_attach_children(dev); return (0); } @@ -174,11 +174,11 @@ static int amdsmb_detach(device_t dev) { struct amdsmb_softc *amdsmb_sc = device_get_softc(dev); + int error; - if (amdsmb_sc->smbus) { - device_delete_child(dev, amdsmb_sc->smbus); - amdsmb_sc->smbus = NULL; - } + error = bus_generic_detach(dev); + if (error != 0) + return (error); mtx_destroy(&amdsmb_sc->lock); if (amdsmb_sc->res) |