Module Name: src
Committed By: mlelstv
Date: Wed Jun 29 15:56:58 UTC 2022
Modified Files:
src/sys/dev/isa: aps.c finsio_isa.c itesio_isa.c smsc.c ug_isa.c
Log Message:
unregister sensors only when registered.
To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/sys/dev/isa/aps.c
cvs rdiff -u -r1.8 -r1.9 src/sys/dev/isa/finsio_isa.c \
src/sys/dev/isa/ug_isa.c
cvs rdiff -u -r1.29 -r1.30 src/sys/dev/isa/itesio_isa.c
cvs rdiff -u -r1.12 -r1.13 src/sys/dev/isa/smsc.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/dev/isa/aps.c
diff -u src/sys/dev/isa/aps.c:1.17 src/sys/dev/isa/aps.c:1.18
--- src/sys/dev/isa/aps.c:1.17 Thu Apr 23 23:23:00 2015
+++ src/sys/dev/isa/aps.c Wed Jun 29 15:56:58 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: aps.c,v 1.17 2015/04/23 23:23:00 pgoyette Exp $ */
+/* $NetBSD: aps.c,v 1.18 2022/06/29 15:56:58 mlelstv Exp $ */
/* $OpenBSD: aps.c,v 1.15 2007/05/19 19:14:11 tedu Exp $ */
/* $OpenBSD: aps.c,v 1.17 2008/06/27 06:08:43 canacar Exp $ */
/*
@@ -24,7 +24,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: aps.c,v 1.17 2015/04/23 23:23:00 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: aps.c,v 1.18 2022/06/29 15:56:58 mlelstv Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -348,6 +348,7 @@ aps_attach(device_t parent, device_t sel
if (sysmon_envsys_sensor_attach(sc->sc_sme,
&sc->sc_sensor[i])) {
sysmon_envsys_destroy(sc->sc_sme);
+ sc->sc_sme = NULL;
goto out;
}
}
@@ -361,6 +362,7 @@ aps_attach(device_t parent, device_t sel
aprint_error_dev(self,
"unable to register with sysmon (%d)\n", i);
sysmon_envsys_destroy(sc->sc_sme);
+ sc->sc_sme = NULL;
goto out;
}
Index: src/sys/dev/isa/finsio_isa.c
diff -u src/sys/dev/isa/finsio_isa.c:1.8 src/sys/dev/isa/finsio_isa.c:1.9
--- src/sys/dev/isa/finsio_isa.c:1.8 Thu Apr 23 23:23:00 2015
+++ src/sys/dev/isa/finsio_isa.c Wed Jun 29 15:56:58 2022
@@ -1,5 +1,5 @@
/* $OpenBSD: fins.c,v 1.1 2008/03/19 19:33:09 deraadt Exp $ */
-/* $NetBSD: finsio_isa.c,v 1.8 2015/04/23 23:23:00 pgoyette Exp $ */
+/* $NetBSD: finsio_isa.c,v 1.9 2022/06/29 15:56:58 mlelstv Exp $ */
/*
* Copyright (c) 2008 Juan Romero Pardines
@@ -19,7 +19,7 @@
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: finsio_isa.c,v 1.8 2015/04/23 23:23:00 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: finsio_isa.c,v 1.9 2022/06/29 15:56:58 mlelstv Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -573,6 +573,7 @@ finsio_isa_attach(device_t parent, devic
fail:
sysmon_envsys_destroy(sc->sc_sme);
+ sc->sc_sme = NULL;
bus_space_unmap(sc->sc_iot, sc->sc_ioh, FINSIO_DECODE_SIZE);
}
@@ -581,7 +582,8 @@ finsio_isa_detach(device_t self, int fla
{
struct finsio_softc *sc = device_private(self);
- sysmon_envsys_unregister(sc->sc_sme);
+ if (sc->sc_sme != NULL)
+ sysmon_envsys_unregister(sc->sc_sme);
bus_space_unmap(sc->sc_iot, sc->sc_ioh, FINSIO_DECODE_SIZE);
return 0;
}
Index: src/sys/dev/isa/ug_isa.c
diff -u src/sys/dev/isa/ug_isa.c:1.8 src/sys/dev/isa/ug_isa.c:1.9
--- src/sys/dev/isa/ug_isa.c:1.8 Wed Jun 24 19:24:44 2020
+++ src/sys/dev/isa/ug_isa.c Wed Jun 29 15:56:58 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: ug_isa.c,v 1.8 2020/06/24 19:24:44 jdolecek Exp $ */
+/* $NetBSD: ug_isa.c,v 1.9 2022/06/29 15:56:58 mlelstv Exp $ */
/*
* Copyright (c) 2007 Mihai Chelaru <kef...@netbsd.ro>
@@ -32,7 +32,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ug_isa.c,v 1.8 2020/06/24 19:24:44 jdolecek Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ug_isa.c,v 1.9 2022/06/29 15:56:58 mlelstv Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -148,6 +148,7 @@ ug_isa_attach(device_t parent, device_t
if (sysmon_envsys_sensor_attach(sc->sc_sme,
&sc->sc_sensor[i])) {
sysmon_envsys_destroy(sc->sc_sme);
+ sc->sc_sme = NULL;
goto out;
}
}
@@ -158,6 +159,7 @@ ug_isa_attach(device_t parent, device_t
if (sysmon_envsys_register(sc->sc_sme)) {
aprint_error_dev(self, "unable to register with sysmon\n");
sysmon_envsys_destroy(sc->sc_sme);
+ sc->sc_sme = NULL;
goto out;
}
@@ -173,7 +175,8 @@ ug_isa_detach(device_t self, int flags)
{
struct ug_softc *sc = device_private(self);
- sysmon_envsys_unregister(sc->sc_sme);
+ if (sc->sc_sme != NULL)
+ sysmon_envsys_unregister(sc->sc_sme);
bus_space_unmap(sc->sc_iot, sc->sc_ioh, 8);
return 0;
}
Index: src/sys/dev/isa/itesio_isa.c
diff -u src/sys/dev/isa/itesio_isa.c:1.29 src/sys/dev/isa/itesio_isa.c:1.30
--- src/sys/dev/isa/itesio_isa.c:1.29 Sat Jul 3 04:44:16 2021
+++ src/sys/dev/isa/itesio_isa.c Wed Jun 29 15:56:58 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: itesio_isa.c,v 1.29 2021/07/03 04:44:16 nonaka Exp $ */
+/* $NetBSD: itesio_isa.c,v 1.30 2022/06/29 15:56:58 mlelstv Exp $ */
/* Derived from $OpenBSD: it.c,v 1.19 2006/04/10 00:57:54 deraadt Exp $ */
/*
@@ -34,7 +34,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: itesio_isa.c,v 1.29 2021/07/03 04:44:16 nonaka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: itesio_isa.c,v 1.30 2022/06/29 15:56:58 mlelstv Exp $");
#include <sys/param.h>
#include <sys/kernel.h>
@@ -311,6 +311,7 @@ itesio_isa_attach(device_t parent, devic
if (sysmon_envsys_sensor_attach(sc->sc_sme,
&sc->sc_sensor[i])) {
sysmon_envsys_destroy(sc->sc_sme);
+ sc->sc_sme = NULL;
goto out;
}
}
@@ -325,6 +326,7 @@ itesio_isa_attach(device_t parent, devic
aprint_error_dev(self,
"unable to register with sysmon (%d)\n", error);
sysmon_envsys_destroy(sc->sc_sme);
+ sc->sc_sme = NULL;
goto out;
}
sc->sc_hwmon_enabled = true;
Index: src/sys/dev/isa/smsc.c
diff -u src/sys/dev/isa/smsc.c:1.12 src/sys/dev/isa/smsc.c:1.13
--- src/sys/dev/isa/smsc.c:1.12 Thu Apr 23 23:23:00 2015
+++ src/sys/dev/isa/smsc.c Wed Jun 29 15:56:58 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: smsc.c,v 1.12 2015/04/23 23:23:00 pgoyette Exp $ */
+/* $NetBSD: smsc.c,v 1.13 2022/06/29 15:56:58 mlelstv Exp $ */
/*-
* Copyright (c) 2007 The NetBSD Foundation, Inc.
@@ -40,7 +40,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: smsc.c,v 1.12 2015/04/23 23:23:00 pgoyette Exp $");
+__KERNEL_RCSID(0, "$NetBSD: smsc.c,v 1.13 2022/06/29 15:56:58 mlelstv Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -217,6 +217,7 @@ smsc_attach(device_t parent, device_t se
if (sysmon_envsys_sensor_attach(sc->sc_sme,
&sc->sc_sensor[i])) {
sysmon_envsys_destroy(sc->sc_sme);
+ sc->sc_sme = NULL;
bus_space_unmap(sc->sc_iot, sc->sc_ioh, 2);
return;
}
@@ -229,6 +230,7 @@ smsc_attach(device_t parent, device_t se
if ((i = sysmon_envsys_register(sc->sc_sme)) != 0) {
aprint_error(": unable to register with sysmon (%d)\n", i);
sysmon_envsys_destroy(sc->sc_sme);
+ sc->sc_sme = NULL;
bus_space_unmap(sc->sc_iot, sc->sc_ioh, 2);
return;
}
@@ -255,7 +257,8 @@ smsc_detach(device_t self, int flags)
{
struct smsc_softc *sc = device_private(self);
- sysmon_envsys_unregister(sc->sc_sme);
+ if (sc->sc_sme != NULL)
+ sysmon_envsys_unregister(sc->sc_sme);
bus_space_unmap(sc->sc_iot, sc->sc_ioh, 2);
return 0;
}