Module Name: src Committed By: msaitoh Date: Wed Sep 6 11:08:54 UTC 2017
Modified Files: src/sys/dev/sysmon: sysmon_envsys.c sysmon_envsys_events.c Log Message: Fixes a problem that some driver(e.g. acpitz(4) or coretemp(5)) which use sysmon_envsys sleep waiting at "rndsrc" when "drvctl -d". Don't call rnd_detach_source() in sme_remove_event() which is called from sme_event_unregister_all(). Instead, call rnd_detach_source() in sysmon_envsys_sensor_detach() and call sysmon_envsys_sensor_detach() before sme_event_unregister_sensor(). Each sensor(envsys_data) has each rnd_src, but some sme_events point to the same rnd_src in a sensor. Calling rnd_detach_souce() twice with the same rnd_src brokes a reference count in rnd_src. OK'd by pgoyette@. To generate a diff of this commit: cvs rdiff -u -r1.139 -r1.140 src/sys/dev/sysmon/sysmon_envsys.c cvs rdiff -u -r1.119 -r1.120 src/sys/dev/sysmon/sysmon_envsys_events.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.