Current-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: more sysmon initialisation problems.



Yes, the wdog_register code needs the same sort of pre-init changes as were made by martin@ in sysmon_envsys_register().

I'm reworking the envsys changes to use RUN_ONCE() and adding the required changes to both sysmon_{wdog,pswitch}_register() routines. I'll commit as soon as I can run some quick tests.

On Sun, 26 Apr 2015, matthew green wrote:


i'm using the patch below to get my system to boot.  otherwise the
mutex_enter() immediately after the additional return triggers an
uninit lock.  this is the same problem as the other case handled,
but i got a crash while trying to hack around that and went with
the below as a workaround.

the stack trace is:

mutex_enter()
sysmon_wdog_register()
lpcibattach()
config_attach_loc()
pci_probe_device()

this is an old (2003-era) i386 laptop.


.mrg.


Index: dev/sysmon/sysmon_wdog.c
===================================================================
RCS file: /cvsroot/src/sys/dev/sysmon/sysmon_wdog.c,v
retrieving revision 1.26
diff -p -u -r1.26 sysmon_wdog.c
--- dev/sysmon/sysmon_wdog.c	23 Apr 2015 23:22:03 -0000	1.26
+++ dev/sysmon/sysmon_wdog.c	25 Apr 2015 20:40:18 -0000
@@ -312,6 +312,8 @@ sysmon_wdog_register(struct sysmon_wdog
	struct sysmon_wdog *lsmw;
	int error = 0;

+	return EIO;
+
	mutex_enter(&sysmon_wdog_list_mtx);

	LIST_FOREACH(lsmw, &sysmon_wdog_list, smw_list) {


-------------------------------------------------------------------------
| Paul Goyette     | PGP Key fingerprint:     | E-mail addresses:       |
| (Retired)        | FA29 0E3B 35AF E8AE 6651 | paul at whooppee.com    |
| Kernel Developer | 0786 F758 55DE 53BA 7731 | pgoyette at netbsd.org  |
-------------------------------------------------------------------------


Home | Main Index | Thread Index | Old Index