Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Jul 2012 02:48:51 GMT
From:      Axel Gonzalez <loox@e-shell.net>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   amd64/169779: [patch] powerd doesn't honor the -n flag
Message-ID:  <201207110248.q6B2mplM078753@red.freebsd.org>
Resent-Message-ID: <201207110250.q6B2oB4R018583@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         169779
>Category:       amd64
>Synopsis:       [patch] powerd doesn't honor the -n flag
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    freebsd-amd64
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Wed Jul 11 02:50:10 UTC 2012
>Closed-Date:
>Last-Modified:
>Originator:     Axel Gonzalez
>Release:        9.0-RELEASE-p2
>Organization:
>Environment:
FreeBSD moonlight 9.0-RELEASE-p2 FreeBSD 9.0-RELEASE-p2 #0: Tue Jun 12 02:12:57 CDT 2012     toor@moonlight:/usr/obj/usr/src/sys/LXCORE964  amd64
>Description:
powerd never initializes the variable that keeps the status of the line status. This variable defaults to 0 (with the compiler? with the arch?) and results in powerd using the AC profile.

This is a problem, since at start it says it is in unkown status, but doesn't respect the -n argument. 

Note: since the variable is not initialized, it can lead to other unexpected behaviour.

>How-To-Repeat:
This should use the "adaptive" profile specified by -n, but uses hiadaptive

# /usr/sbin/powerd -i 50 -r 80 -M 1800 -v -p 1000 -n adaptive
powerd: unable to determine AC line status
CPU frequency is above user-defined maximum; changing frequency to 1795 MHz
load  15%, current freq 1795 MHz ( 0), wanted freq 2094 MHz

>Fix:
Initialize the variable

--- powerd.c.orig       2012-07-10 21:21:07.882970887 -0500
+++ powerd.c    2012-07-10 21:22:29.292974203 -0500
@@ -278,6 +278,7 @@
 acline_init(void)
 {
        acline_mib_len = 4;
+        acline_status = SRC_UNKNOWN;
 
        if (sysctlnametomib(ACPIAC, acline_mib, &acline_mib_len) == 0) {
                acline_mode = ac_sysctl;


>Release-Note:
>Audit-Trail:
>Unformatted:



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