summaryrefslogtreecommitdiff
path: root/sys/dev/sysmon
diff options
context:
space:
mode:
authorxtraeme <xtraeme@NetBSD.org>2007-09-08 00:30:54 +0000
committerxtraeme <xtraeme@NetBSD.org>2007-09-08 00:30:54 +0000
commit515802b6b0c330bbd6a5a54fa36a6014e8ab283d (patch)
treefdf342d666a1f6dc12eb78e9e800f921c923a59d /sys/dev/sysmon
parentb60ffc9079c37918f4203a44bfdc27f6bde9ab2c (diff)
Fix previous.
Diffstat (limited to 'sys/dev/sysmon')
-rw-r--r--sys/dev/sysmon/sysmon_envsys_events.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/sys/dev/sysmon/sysmon_envsys_events.c b/sys/dev/sysmon/sysmon_envsys_events.c
index ff3b8b6f36f..70590795ffc 100644
--- a/sys/dev/sysmon/sysmon_envsys_events.c
+++ b/sys/dev/sysmon/sysmon_envsys_events.c
@@ -1,4 +1,4 @@
-/* $NetBSD: sysmon_envsys_events.c,v 1.29 2007/09/07 23:28:33 xtraeme Exp $ */
+/* $NetBSD: sysmon_envsys_events.c,v 1.30 2007/09/08 00:30:54 xtraeme Exp $ */
/*-
* Copyright (c) 2007 The NetBSD Foundation, Inc.
@@ -41,7 +41,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sysmon_envsys_events.c,v 1.29 2007/09/07 23:28:33 xtraeme Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sysmon_envsys_events.c,v 1.30 2007/09/08 00:30:54 xtraeme Exp $");
#include <sys/param.h>
#include <sys/types.h>
@@ -518,7 +518,7 @@ sme_events_worker(struct work *wk, void *arg)
break;
mutex_exit(&sme_list_mtx);
if (sme == NULL)
- return;
+ goto out;
/* get the sensor with the index specified in see->snum */
edata = &sme->sme_sensor_data[see->snum];
@@ -530,7 +530,7 @@ sme_events_worker(struct work *wk, void *arg)
if ((sme->sme_flags & SME_DISABLE_GTREDATA) == 0) {
error = (*sme->sme_gtredata)(sme, edata);
if (error)
- return;
+ goto out;
}
DPRINTFOBJ(("%s: desc=%s sensor=%d units=%d value_cur=%d\n",
@@ -635,6 +635,7 @@ do { \
break;
}
+out:
see->see_flags &= ~SME_EVENT_WORKING;
cv_broadcast(&sme_event_cv);
mutex_exit(&sme_event_mtx);