diff options
| author | xtraeme <xtraeme@NetBSD.org> | 2007-09-08 00:30:54 +0000 |
|---|---|---|
| committer | xtraeme <xtraeme@NetBSD.org> | 2007-09-08 00:30:54 +0000 |
| commit | 515802b6b0c330bbd6a5a54fa36a6014e8ab283d (patch) | |
| tree | fdf342d666a1f6dc12eb78e9e800f921c923a59d /sys/dev/sysmon | |
| parent | b60ffc9079c37918f4203a44bfdc27f6bde9ab2c (diff) | |
Fix previous.
Diffstat (limited to 'sys/dev/sysmon')
| -rw-r--r-- | sys/dev/sysmon/sysmon_envsys_events.c | 9 |
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); |
