From 63a34efe1a11d8f25a80b8ce085c76acc14d524f Mon Sep 17 00:00:00 2001 From: netchild Date: Sun, 31 Jul 2005 10:46:55 +0000 Subject: [PATCH] The resource_xxx routines in subr_hints.c are called before and after the kenv environment in kern_environment.c switches to dynamic kenv. The prior call sets the static variable hintp to the static hints in subr_hints.c (hintmode==0). However, changes to the environment are not detected by the resource_xxx lookups after the change to dynamic kernel environment, so the lookup routines only report the old stuff of hintmode==0, even after the change to the dynamic kenv. This causes kenv users to see a different environment than the kernel routines. This is a problem in the mixer.c code that looks up initial mixer volume settings from the hints: If the hints are dynamic and not from the device.hints file, mixer.c doesn't see them, but kenv does. The patch from the PR (modified to comply to the style of the function) solves this. PR: 83686 Submitted by: Harry Coin --- sys/kern/subr_hints.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sys/kern/subr_hints.c b/sys/kern/subr_hints.c index d4f5cc86e4b..eac4f59b84e 100644 --- a/sys/kern/subr_hints.c +++ b/sys/kern/subr_hints.c @@ -61,6 +61,8 @@ res_find(int *line, int *startln, char *p; if (checkmethod) { + hintp = NULL; + switch (hintmode) { case 0: /* loader hints in environment only */ break; -- 2.45.2