On Wed, 06 Jun 2007 11:37:53 +0200 Thomas Gleixner <[EMAIL PROTECTED]> wrote:
> From: Udo A. Steinberg <[EMAIL PROTECTED]> > > The chip set doc for IHC4 says: > > 1.In general, software should not attempt any non-posted accesses during > arbiter disable except to the ICH4's power management registers. This > implies that interrupt handlers for any unmasked hardware interrupts and > SMI/NMI should check ARB_DIS status before reading from ICH devices. > > So it's not a good idea to access ICH devices after arbiter shut down. > > Signed-off-by: Udo A. Steinberg <[EMAIL PROTECTED]> > Signed-off-by: Thomas Gleixner <[EMAIL PROTECTED]> > > --- > drivers/acpi/processor_idle.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > Index: linux-2.6.22-rc4/drivers/acpi/processor_idle.c > =================================================================== > --- linux-2.6.22-rc4.orig/drivers/acpi/processor_idle.c 2007-06-06 > 11:47:21.000000000 +0200 > +++ linux-2.6.22-rc4/drivers/acpi/processor_idle.c 2007-06-06 > 11:48:21.000000000 +0200 > @@ -488,6 +488,11 @@ static void acpi_processor_idle(void) > > case ACPI_STATE_C3: > > + /* Get start time (ticks) */ > + t1 = inl(acpi_gbl_FADT.xpm_timer_block.address); > + /* Handle timer broadcast before bus arbiter shutdown ! */ > + acpi_state_timer_broadcast(pr, cx, 1); > + > if (pr->flags.bm_check) { > if (atomic_inc_return(&c3_cpu_count) == > num_online_cpus()) { > @@ -502,10 +507,7 @@ static void acpi_processor_idle(void) > ACPI_FLUSH_CPU_CACHE(); > } > > - /* Get start time (ticks) */ > - t1 = inl(acpi_gbl_FADT.xpm_timer_block.address); > /* Invoke C3 */ > - acpi_state_timer_broadcast(pr, cx, 1); > acpi_cstate_enter(cx); > /* Get end time (ticks) */ > t2 = inl(acpi_gbl_FADT.xpm_timer_block.address); hm, this needs a bit of help to get it to work against Len's current tree. However, if by "non-posted accesses" you're referring to that inl(), how come the second one which was left in place isn't also a problem? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/