Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Jun 2019 20:17:00 +0000 (UTC)
From:      Ian Lepore <ian@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r349076 - head/sys/dev/pwm
Message-ID:  <201906152017.x5FKH0Oc031817@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: ian
Date: Sat Jun 15 20:17:00 2019
New Revision: 349076
URL: https://svnweb.freebsd.org/changeset/base/349076

Log:
  Use device_delete_children() instead of a locally-rolled copy of it that
  leaks the device-list memory.

Modified:
  head/sys/dev/pwm/pwmbus.c

Modified: head/sys/dev/pwm/pwmbus.c
==============================================================================
--- head/sys/dev/pwm/pwmbus.c	Sat Jun 15 20:13:42 2019	(r349075)
+++ head/sys/dev/pwm/pwmbus.c	Sat Jun 15 20:17:00 2019	(r349076)
@@ -92,20 +92,12 @@ pwmbus_attach(device_t dev)
 static int
 pwmbus_detach(device_t dev)
 {
-	device_t *devlist;
-	int i, rv, ndevs;
+	int rv;
 
-	rv = bus_generic_detach(dev);
-	if (rv != 0)
-		return (rv);
+	if ((rv = bus_generic_detach(dev)) == 0)
+		rv = device_delete_children(dev);
 
-	rv = device_get_children(dev, &devlist, &ndevs);
-	if (rv != 0)
-		return (rv);
-	for (i = 0; i < ndevs; i++)
-		device_delete_child(dev, devlist[i]);
-
-	return (0);
+	return (rv);
 }
 
 static int



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201906152017.x5FKH0Oc031817>