svn commit: r326450 - head/sys/dev/bhnd/cores/chipc
Landon J. Fuller
landonf at FreeBSD.org
Sat Dec 2 00:53:01 UTC 2017
Author: landonf
Date: Sat Dec 2 00:52:59 2017
New Revision: 326450
URL: https://svnweb.freebsd.org/changeset/base/326450
Log:
bhnd_chipc(4): Break cyclic references to the ChipCommon device
bhnd_chipc's children may hold strong provider references to their parent;
we must detach any children before attempting to deregister the bhnd_chipc
device as a bus service provider.
Approved by: adrian (mentor, implicit)
Sponsored by: The FreeBSD Foundation
Modified:
head/sys/dev/bhnd/cores/chipc/chipc.c
Modified: head/sys/dev/bhnd/cores/chipc/chipc.c
==============================================================================
--- head/sys/dev/bhnd/cores/chipc/chipc.c Sat Dec 2 00:09:58 2017 (r326449)
+++ head/sys/dev/bhnd/cores/chipc/chipc.c Sat Dec 2 00:52:59 2017 (r326450)
@@ -245,10 +245,10 @@ chipc_detach(device_t dev)
sc = device_get_softc(dev);
- if ((error = bhnd_deregister_provider(dev, BHND_SERVICE_ANY)))
+ if ((error = bus_generic_detach(dev)))
return (error);
- if ((error = bus_generic_detach(dev)))
+ if ((error = bhnd_deregister_provider(dev, BHND_SERVICE_ANY)))
return (error);
chipc_release_region(sc, sc->core_region, RF_ALLOCATED|RF_ACTIVE);
More information about the svn-src-all
mailing list