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

Reply via email to