diff options
Diffstat (limited to 'arch/x86/kernel/acpi/cstate.c')
| -rw-r--r-- | arch/x86/kernel/acpi/cstate.c | 5 | 
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/x86/kernel/acpi/cstate.c b/arch/x86/kernel/acpi/cstate.c index 5812404a0d4..4b28159e042 100644 --- a/arch/x86/kernel/acpi/cstate.c +++ b/arch/x86/kernel/acpi/cstate.c @@ -14,6 +14,7 @@  #include <acpi/processor.h>  #include <asm/acpi.h>  #include <asm/mwait.h> +#include <asm/special_insns.h>  /*   * Initialize bm_flags based on the CPU cache properties @@ -86,7 +87,9 @@ static long acpi_processor_ffh_cstate_probe_cpu(void *_cx)  	num_cstate_subtype = edx_part & MWAIT_SUBSTATE_MASK;  	retval = 0; -	if (num_cstate_subtype < (cx->address & MWAIT_SUBSTATE_MASK)) { +	/* If the HW does not support any sub-states in this C-state */ +	if (num_cstate_subtype == 0) { +		pr_warn(FW_BUG "ACPI MWAIT C-state 0x%x not supported by HW (0x%x)\n", cx->address, edx_part);  		retval = -1;  		goto out;  	}  | 
