The branch main has been updated by jhb:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=c8fa54882226d89e987fb26b94979aed85a3bd9a

commit c8fa54882226d89e987fb26b94979aed85a3bd9a
Author:     John Baldwin <j...@freebsd.org>
AuthorDate: 2024-11-01 14:09:31 +0000
Commit:     John Baldwin <j...@freebsd.org>
CommitDate: 2024-11-01 14:09:31 +0000

    isa: Use a bus_child_deleted method to free ivars for children
    
    Reviewed by:    imp
    Differential Revision:  https://reviews.freebsd.org/D47368
---
 sys/isa/isa_common.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/sys/isa/isa_common.c b/sys/isa/isa_common.c
index 22c473108e2f..519f9353b794 100644
--- a/sys/isa/isa_common.c
+++ b/sys/isa/isa_common.c
@@ -622,6 +622,12 @@ isa_add_child(device_t dev, u_int order, const char *name, 
int unit)
        return (child);
 }
 
+static void
+isa_child_deleted(device_t dev, device_t child)
+{
+       free(device_get_ivars(child), M_ISADEV);
+}
+
 static int
 isa_print_all_resources(device_t dev)
 {
@@ -1058,6 +1064,7 @@ static device_method_t isa_methods[] = {
 
        /* Bus interface */
        DEVMETHOD(bus_add_child,        isa_add_child),
+       DEVMETHOD(bus_child_deleted,    isa_child_deleted),
        DEVMETHOD(bus_print_child,      isa_print_child),
        DEVMETHOD(bus_probe_nomatch,    isa_probe_nomatch),
        DEVMETHOD(bus_read_ivar,        isa_read_ivar),

Reply via email to