Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 12 Apr 2008 19:06:29 +0200
From:      Andreas Wetzel <mickey242@gmx.net>
To:        Mitsuru IWASAKI <iwasaki@jp.FreeBSD.org>
Cc:        freebsd-acpi@freebsd.org
Subject:   Re: FreeBSD 7.0 suspend
Message-ID:  <4800EC15.5060206@gmx.net>
In-Reply-To: <20080409.214318.132031270.iwasaki@jp.FreeBSD.org>
References:  <47F8B038.7000400@gmx.net> <20080409.214318.132031270.iwasaki@jp.FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Mitsuru IWASAKI wrote:
> 
>>      /* If devd(8) is not running, immediately enter the sleep state. */
>>      if (devctl_process_running() == FALSE) {
>>      ...
>>
>> For some reason this check returns FALSE, although devd is actually running.
>> When i comment out the check, everything works as expected: devd is notified,
>> executes /etc/rc.suspend, which in turn calls acpiconf -k 0 when done, and
>> then the system goes to sleep.
>>
>> Any ideas, why this function does not correctly recognize that devd is
>> running?
> 
> Please try the following patches and see if the problem is solved.
> Thanks!
> 
> Index: subr_bus.c
> ===================================================================
> RCS file: /home/ncvs/src/sys/kern/subr_bus.c,v
> retrieving revision 1.201.2.1
> diff -u -r1.201.2.1 subr_bus.c
> --- subr_bus.c	6 Feb 2008 01:34:18 -0000	1.201.2.1
> +++ subr_bus.c	9 Apr 2008 12:30:30 -0000
> @@ -504,7 +504,7 @@
>  boolean_t
>  devctl_process_running(void)
>  {
> -	return (devsoftc.async_proc != NULL);
> +	return (devsoftc.inuse == 1)
>  }
>  
>  /**
> 

Yes! With a semicolon added, the patch seems to work fine.

-- 
Keep it icy man.
I don't want to end up a corpse before my time because you were daydreaming.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4800EC15.5060206>