NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[demelier.david%gmail.com@localhost: Re: kern/43508: fan are shut down in any case if running on battery]
The following reply was made to PR kern/43508; it has been noted by GNATS.
From: David Holland <dholland-bugs%netbsd.org@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc:
Subject: [demelier.david%gmail.com@localhost: Re: kern/43508: fan are shut down
in
any case if running on battery]
Date: Thu, 1 Jul 2010 19:57:16 +0000
These didn't get sent to gnats. (Best approach is to send all PR mail
to gnats-bugs; it resends elsewhere.)
------
From: David DEMELIER <demelier.david%gmail.com@localhost>
To: kern-bug-people%netbsd.org@localhost, gnats-admin%netbsd.org@localhost,
netbsd-bugs%netbsd.org@localhost, demelier.david%gmail.com@localhost
Subject: Re: kern/43508: fan are shut down in any case if running on battery
Date: Thu, 1 Jul 2010 10:27:28 +0200
I think we have catch the problem, take a look at the dmesg.txt there
is a lot of :
acpi_power-0447 [4294967256] power_set : failed to set
power state to D0 for FAN7: AE_NOT_FOUND
Since HP does not provide any fans control capability, NetBSD can not
manage it. So the solution would be removing any fans control if
AE_NOT_FOUND ?
--
Demelier David
From: Jukka Ruohonen <jruohonen%iki.fi@localhost>
To: David DEMELIER <demelier.david%gmail.com@localhost>
Cc: kern-bug-people%NetBSD.org@localhost, gnats-admin%NetBSD.org@localhost,
netbsd-bugs%NetBSD.org@localhost
Subject: Re: kern/43508: fan are shut down in any case if running on battery
Date: Thu, 1 Jul 2010 11:46:23 +0300
Mail-Followup-To: David DEMELIER <demelier.david%gmail.com@localhost>,
kern-bug-people%NetBSD.org@localhost, gnats-admin%NetBSD.org@localhost,
netbsd-bugs%NetBSD.org@localhost
On Thu, Jul 01, 2010 at 10:27:28AM +0200, David DEMELIER wrote:
> I think we have catch the problem, take a look at the dmesg.txt there
> is a lot of :
>
> acpi_power-0447 [4294967256] power_set : failed to set
> power state to D0 for FAN7: AE_NOT_FOUND
Thanks. That might indeed be the problem. This also indicates that the
problem might be in the NetBSD implementation.
> Since HP does not provide any fans control capability, NetBSD can not
No, this laptop provides fan controls. Something like the following should
appear in your laptop:
$ sysctl hw.acpi.power
...
hw.acpi.power.FAN6 = D0
hw.acpi.power.FAN7 = D3
...
where D0 is "on" and D3 is "off".
> So the solution would be removing any fans control if AE_NOT_FOUND?
I am still trying to understand the DSDT of this laptop. But in the
meanwhile, can you try the following patch? It tries to address a case where
it might be unreliable to get the power state of a device (e.g. fan) but it
is still possible to set the power state.
Index: acpi_power.c
===================================================================
RCS file: /cvsroot/src/sys/dev/acpi/acpi_power.c,v
retrieving revision 1.20
diff -u -p -r1.20 acpi_power.c
--- acpi_power.c 8 Jun 2010 21:47:26 -0000 1.20
+++ acpi_power.c 1 Jul 2010 08:41:22 -0000
@@ -358,7 +358,6 @@ acpi_power_set(ACPI_HANDLE hdl, int stat
struct acpi_devnode *ad = acpi_get_node(hdl);
ACPI_STATUS rv;
char path[5];
- int old;
if (ad == NULL)
return false;
@@ -373,19 +372,6 @@ acpi_power_set(ACPI_HANDLE hdl, int stat
goto fail;
}
- if (acpi_power_get(ad, &old) != true) {
- rv = AE_NOT_FOUND;
- goto fail;
- }
-
- KASSERT(ad->ad_state == old);
- KASSERT(ad->ad_state != ACPI_STATE_ERROR);
-
- if (ad->ad_state == state) {
- rv = AE_ALREADY_EXISTS;
- goto fail;
- }
-
/*
* It is only possible to go to D0 ("on") from D3 ("off").
*/
@@ -434,7 +420,7 @@ acpi_power_set(ACPI_HANDLE hdl, int stat
(void)AcpiEvaluateObject(ad->ad_handle, path, NULL, NULL);
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "%s turned from "
- "D%d to D%d\n", ad->ad_name, old, state));
+ "D%d to D%d\n", ad->ad_name, ad->ad_state, state));
ad->ad_state = state;
@@ -499,7 +485,7 @@ acpi_power_res(ACPI_HANDLE hdl, ACPI_HAN
res = acpi_power_res_get(hdl);
if (res == NULL)
- return AE_NOT_FOUND;
+ return AE_NOT_EXIST;
/*
* (De)reference the resource.
From: Jukka Ruohonen <jruohonen%iki.fi@localhost>
To: David DEMELIER <demelier.david%gmail.com@localhost>
Cc: kern-bug-people%NetBSD.org@localhost, gnats-admin%NetBSD.org@localhost,
netbsd-bugs%NetBSD.org@localhost
Subject: Re: kern/43508: fan are shut down in any case if running on battery
Date: Thu, 1 Jul 2010 12:34:15 +0300
Mail-Followup-To: David DEMELIER <demelier.david%gmail.com@localhost>,
kern-bug-people%NetBSD.org@localhost, gnats-admin%NetBSD.org@localhost,
netbsd-bugs%NetBSD.org@localhost
On Thu, Jul 01, 2010 at 10:27:28AM +0200, David DEMELIER wrote:
> I think we have catch the problem, take a look at the dmesg.txt there
> is a lot of :
>
> acpi_power-0447 [4294967256] power_set : failed to set
> power state to D0 for FAN7: AE_NOT_FOUND
>
> Since HP does not provide any fans control capability, NetBSD can not
> manage it. So the solution would be removing any fans control if
> AE_NOT_FOUND ?
Actually try the revision 1.21 of acpi_power.c before anything else.
That fixed an embarrassing bug I managed to introduce some time ago.
Home |
Main Index |
Thread Index |
Old Index