svn commit: r356023 - stable/12/sys/dev/iicbus

Ian Lepore ian at FreeBSD.org
Sun Dec 22 20:04:36 UTC 2019


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);
 }


More information about the svn-src-all mailing list