Module Name: src Committed By: riastradh Date: Wed Oct 19 22:28:36 UTC 2022
Modified Files: src/sys/arch/x86/pci: dwiic_pci.c src/sys/dev/acpi: dwiic_acpi.c src/sys/dev/fdt: dwiic_fdt.c Log Message: dwiic(4): Don't try to attach children if dwiic_attach failed. PR kern/57063 To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/sys/arch/x86/pci/dwiic_pci.c cvs rdiff -u -r1.9 -r1.10 src/sys/dev/acpi/dwiic_acpi.c cvs rdiff -u -r1.4 -r1.5 src/sys/dev/fdt/dwiic_fdt.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/arch/x86/pci/dwiic_pci.c diff -u src/sys/arch/x86/pci/dwiic_pci.c:1.8 src/sys/arch/x86/pci/dwiic_pci.c:1.9 --- src/sys/arch/x86/pci/dwiic_pci.c:1.8 Wed Oct 27 19:04:03 2021 +++ src/sys/arch/x86/pci/dwiic_pci.c Wed Oct 19 22:28:35 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: dwiic_pci.c,v 1.8 2021/10/27 19:04:03 msaitoh Exp $ */ +/* $NetBSD: dwiic_pci.c,v 1.9 2022/10/19 22:28:35 riastradh Exp $ */ /*- * Copyright (c) 2017 The NetBSD Foundation, Inc. @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: dwiic_pci.c,v 1.8 2021/10/27 19:04:03 msaitoh Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dwiic_pci.c,v 1.9 2022/10/19 22:28:35 riastradh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -277,7 +277,8 @@ pci_dwiic_attach(device_t parent, device aprint_verbose_dev(self, "no matching ACPI node\n"); } - dwiic_attach(&sc->sc_dwiic); + if (!dwiic_attach(&sc->sc_dwiic)) + goto out; config_found(self, &sc->sc_dwiic.sc_iba, iicbus_print, CFARGS_NONE); Index: src/sys/dev/acpi/dwiic_acpi.c diff -u src/sys/dev/acpi/dwiic_acpi.c:1.9 src/sys/dev/acpi/dwiic_acpi.c:1.10 --- src/sys/dev/acpi/dwiic_acpi.c:1.9 Sat Aug 7 16:19:09 2021 +++ src/sys/dev/acpi/dwiic_acpi.c Wed Oct 19 22:28:35 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: dwiic_acpi.c,v 1.9 2021/08/07 16:19:09 thorpej Exp $ */ +/* $NetBSD: dwiic_acpi.c,v 1.10 2022/10/19 22:28:35 riastradh Exp $ */ /*- * Copyright (c) 2018 The NetBSD Foundation, Inc. @@ -30,7 +30,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: dwiic_acpi.c,v 1.9 2021/08/07 16:19:09 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dwiic_acpi.c,v 1.10 2022/10/19 22:28:35 riastradh Exp $"); #include <sys/param.h> #include <sys/bus.h> @@ -127,7 +127,8 @@ dwiic_acpi_attach(device_t parent, devic sc->sc_iba.iba_child_devices = acpi_enter_i2c_devs(self, aa->aa_node); - dwiic_attach(sc); + if (!dwiic_attach(sc)) + goto done; config_found(self, &sc->sc_iba, iicbus_print, CFARGS_NONE); Index: src/sys/dev/fdt/dwiic_fdt.c diff -u src/sys/dev/fdt/dwiic_fdt.c:1.4 src/sys/dev/fdt/dwiic_fdt.c:1.5 --- src/sys/dev/fdt/dwiic_fdt.c:1.4 Wed Jan 27 03:10:21 2021 +++ src/sys/dev/fdt/dwiic_fdt.c Wed Oct 19 22:28:35 2022 @@ -1,4 +1,4 @@ -/* $NetBSD: dwiic_fdt.c,v 1.4 2021/01/27 03:10:21 thorpej Exp $ */ +/* $NetBSD: dwiic_fdt.c,v 1.5 2022/10/19 22:28:35 riastradh Exp $ */ /*- * Copyright (c) 2017 The NetBSD Foundation, Inc. @@ -33,7 +33,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: dwiic_fdt.c,v 1.4 2021/01/27 03:10:21 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: dwiic_fdt.c,v 1.5 2022/10/19 22:28:35 riastradh Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -105,7 +105,8 @@ dwiic_fdt_attach(device_t parent, device goto out; } - dwiic_attach(&sc->sc_dwiic); + if (!dwiic_attach(&sc->sc_dwiic)) + goto out; pmf_device_register(self, dwiic_suspend, dwiic_resume);