ACPI: Avoid array address overflow when _CST MWAIT hint bits are set
authorZhao Yakui <yakui.zhao@intel.com>
Sun, 4 Jan 2009 04:04:21 +0000 (12:04 +0800)
committerLen Brown <len.brown@intel.com>
Fri, 9 Jan 2009 06:28:01 +0000 (01:28 -0500)
commit13b40a1a065824d2d4e55c8b48ea9f3f9d162929
treecf1b1bbd5a7653c43ba3a7c046c1d1001022381a
parent9e6dada9d255497127251c03aaa59296d186f959
ACPI: Avoid array address overflow when _CST MWAIT hint bits are set

The Cx Register address obtained from the _CST object is used as the MWAIT
hints if the register type is FFixedHW. And it is used to check whether
the Cx type is supported or not.

On some boxes the following Cx state package is obtained from _CST object:
    >{
                ResourceTemplate ()
                {
                    Register (FFixedHW,
                        0x01,               // Bit Width
                        0x02,               // Bit Offset
                        0x0000000000889759, // Address
                        0x03,               // Access Size
                        )
                },

                0x03,
                0xF5,
                0x015E }

   In such case we should use the bit[7:4] of Cx address to check whether
the Cx type is supported or not.

mask the MWAIT hint to avoid array address overflow

Signed-off-by: Zhao Yakui <yakui.zhao@intel.com>
Acked-by:Venki Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
arch/x86/kernel/acpi/cstate.c