Author: ian
Date: Sun Dec 22 20:04:35 2019
New Revision: 356023
URL: https://svnweb.freebsd.org/changeset/base/356023
Log:
MFC r355688:
If device_delete_children() returns an error, bail on the rest of the
detach work and return the error. Especially don't call iicbus_reset()
since the most likely cause of failing to detach children is that one
of them has IO in progress.
Modified:
stable/12/sys/dev/iicbus/iicbus.c
Directory Properties:
stable/12/ (props changed)
Modified: stable/12/sys/dev/iicbus/iicbus.c
==============================================================================
--- stable/12/sys/dev/iicbus/iicbus.c Sun Dec 22 19:30:13 2019
(r356022)
+++ stable/12/sys/dev/iicbus/iicbus.c Sun Dec 22 20:04:35 2019
(r356023)
@@ -134,10 +134,11 @@ static int
iicbus_detach(device_t dev)
{
struct iicbus_softc *sc = IICBUS_SOFTC(dev);
+ int err;
+ if ((err = device_delete_children(dev)) != 0)
+ return (err);
iicbus_reset(dev, IIC_FASTEST, 0, NULL);
- bus_generic_detach(dev);
- device_delete_children(dev);
mtx_destroy(&sc->lock);
return (0);
}
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"