Messages in this thread | | | Date | Fri, 21 Jan 2011 09:50:08 -0500 | From | Konrad Rzeszutek Wilk <> | Subject | Re: [PATCH] acpi_pm: Clear pmtmr_ioport if acpi_pm initialization fails |
| |
On Fri, Jan 14, 2011 at 09:47:26AM -0800, John Stultz wrote: > From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> >
tgl,
Are you OK pushing this up to Linus or should I do it? We can also delay this till the next merge window as the other fix that John proposed solves the bootup issue so it is not that urgent.
> If the acpi pm timer throws invalid data, clear pmtmr_ioport > so the pm timer won't accidentally be used. > > This was found when using Xen where there is a acpi pm reported, > but gives bogus values, and other code was continuing to try > to use the pm timer after the initialization failed. > > [jstultz: Catch additional failure and reword changelog message. ]
Thank you John.
> > CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > CC: Thomas Gleixner <tglx@linutronix.de> > Reported-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> > Signed-off-by: John Stultz <johnstul@us.ibm.com> > --- > drivers/clocksource/acpi_pm.c | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/drivers/clocksource/acpi_pm.c b/drivers/clocksource/acpi_pm.c > index cfb0f52..effe797 100644 > --- a/drivers/clocksource/acpi_pm.c > +++ b/drivers/clocksource/acpi_pm.c > @@ -202,17 +202,21 @@ static int __init init_acpi_pm_clocksource(void) > printk(KERN_INFO "PM-Timer had inconsistent results:" > " 0x%#llx, 0x%#llx - aborting.\n", > value1, value2); > + pmtmr_ioport = 0; > return -EINVAL; > } > if (i == ACPI_PM_READ_CHECKS) { > printk(KERN_INFO "PM-Timer failed consistency check " > " (0x%#llx) - aborting.\n", value1); > + pmtmr_ioport = 0; > return -ENODEV; > } > } > > - if (verify_pmtmr_rate() != 0) > + if (verify_pmtmr_rate() != 0){ > + pmtmr_ioport = 0; > return -ENODEV; > + } > > return clocksource_register_hz(&clocksource_acpi_pm, > PMTMR_TICKS_PER_SEC); > -- > 1.7.3.2.146.gca209
| |