lkml.org 
[lkml]   [2012]   [Apr]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4/4] xen/acpi: Workaround broken BIOSes exporting non-existing C-states.
    Date
    We did a similar check for the P-states but did not do it for
    the C-states. What we want to do is ignore cases where the DSDT
    has definition for sixteen CPUs, but the machine only has eight
    CPUs and we get:
    xen-acpi-processor: (CX): Hypervisor error (-22) for ACPI CPU14

    Reported-by: Tobias Geiger <tobias.geiger@vido.info>
    Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    ---
    drivers/xen/xen-acpi-processor.c | 5 ++++-
    1 files changed, 4 insertions(+), 1 deletions(-)

    diff --git a/drivers/xen/xen-acpi-processor.c b/drivers/xen/xen-acpi-processor.c
    index 174b565..0b48579 100644
    --- a/drivers/xen/xen-acpi-processor.c
    +++ b/drivers/xen/xen-acpi-processor.c
    @@ -128,7 +128,10 @@ static int push_cxx_to_hypervisor(struct acpi_processor *_pr)
    pr_debug(" C%d: %s %d uS\n",
    cx->type, cx->desc, (u32)cx->latency);
    }
    - } else
    + } else if (ret != -EINVAL)
    + /* EINVAL means the ACPI ID is incorrect - meaning the ACPI
    + * table is referencing a non-existing CPU - which can happen
    + * with broken ACPI tables. */
    pr_err(DRV_NAME "(CX): Hypervisor error (%d) for ACPI CPU%u\n",
    ret, _pr->acpi_id);

    --
    1.7.7.5


    \
     
     \ /
      Last update: 2012-04-26 20:41    [W:0.036 / U:121.448 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site