Re: [PATCH] Set bit 1 in disabled processor's _STA

Glauber Costa
2009-05-17T14:26:04Z

On Sun, May 17, 2009 at 11:23:47AM +0300, Gleb Natapov wrote:
> On Fri, May 15, 2009 at 08:14:43AM -0400, Glauber Costa wrote:
> > This patch sets bits 1 in disabled processor's _STA.
> > According to the ACPI spec, this bit means:
> > "Set if the device is enabled and decoding its resources."
> >
> > Without it, Windows 2008 device manager shows the processors
> > as malfunctioning hardware.
> >
> If you uncheck "show hidden devices" option in View menu of the
> device manager you should see only enabled CPUs (bit 2 of _STA).
> This patch breaks resume from hibernate on windows 2008/vista.

The last change on that piece of code was made by you under the comment:

1) Disabled processor's _STA method should return 0 (this fixes Vista's
BSOD on resuming after hibernate problem)

However, you did not changed it to 0, but to 9 instead. What did you meant?

It appears that windows won't accept bit 0 without bit 1 being set.

However, it works fine in my use case if _STA returns 0 or 8. The only real
problem is, as I said, setting bit 0 but not bit 1. Does any among 0 or 8
works for your hibernate use case?