On Fri, Dec 19, 2008 at 10:38:18AM +0200, Len Brown wrote: > > The issue on Fengguang's laptop is different with that on the box of > > T61. On Fengguang's laptop after evaluating one ACPI object(GPE > > _L18object), the irq is disabled mystically. After some investigations > > we find that it is caused by SMI(The SMI will be triggered while > > evaluating the ACPI object. And this issue is also related with Video). > > Interesting. > I hadn't realized you root-caused that failure. > This is good to know, but the fact that SMM can > leave interrupts disabled is frightening. > If the BIOS SMM on that box disables interrupts when > random AML is run, then it is going to run into > all kinds of other problems in addition to this one... Exactly. This is another warning: [ 6559.754331] irq status before SMI: enable [ 6559.757388] irq status after SMI: disable, value: 0xF3 [ 6599.816127] Corrupted low memory at ffff88000000fe08 (fe08 phys) = 01007062 [ 6599.816253] Corrupted low memory at ffff88000000fe10 (fe10 phys) = 7ba83066 [ 6599.816376] Corrupted low memory at ffff88000000fe18 (fe18 phys) = 00010062 [ 6599.816492] Corrupted low memory at ffff88000000fe20 (fe20 phys) = 01006062 [ 6599.816608] Corrupted low memory at ffff88000000fe28 (fe28 phys) = 1000000000 [ 6599.816724] Corrupted low memory at ffff88000000fe38 (fe38 phys) = 00000ff0 [ 6599.816840] Corrupted low memory at ffff88000000fe40 (fe40 phys) = 000006e0 [ 6599.816955] Corrupted low memory at ffff88000000fe48 (fe48 phys) = 880000000000 [ 6599.817102] Corrupted low memory at ffff88000000fe50 (fe50 phys) = fffffcf930018 [ 6599.817249] Corrupted low memory at ffff88000000fe58 (fe58 phys) = cf00000000000000 [ 6599.817396] Corrupted low memory at ffff88000000fe60 (fe60 phys) = 000fffff [ 6599.817511] Corrupted low memory at ffff88000000fe68 (fe68 phys) = fffffcf000000 [ 6599.817658] Corrupted low memory at ffff88000000fe70 (fe70 phys) = 82000081624680 [ 6599.817807] Corrupted low memory at ffff88000000fe78 (fe78 phys) = 8184200000000fff [ 6599.817954] Corrupted low memory at ffff88000000fe80 (fe80 phys) = 2087008b0040 [ 6599.818101] Corrupted low memory at ffff88000000fe88 (fe88 phys) = 2053000021d7c80 [ 6599.818249] Corrupted low memory at ffff88000000fe90 (fe90 phys) = 8184200000000000 [ 6599.818398] Corrupted low memory at ffff88000000fea0 (fea0 phys) = 800000000000 [ 6599.818545] Corrupted low memory at ffff88000000fea8 (fea8 phys) = 7f00820000 [ 6599.818661] Corrupted low memory at ffff88000000feb0 (feb0 phys) = cf00000002053000 [ 6599.818808] Corrupted low memory at ffff88000000feb8 (feb8 phys) = 000fffff [ 6599.818924] Corrupted low memory at ffff88000000fec0 (fec0 phys) = fffffcf930018 [ 6599.819079] Corrupted low memory at ffff88000000fec8 (fec8 phys) = af9b001000000000 [ 6599.819227] Corrupted low memory at ffff88000000fed0 (fed0 phys) = 000fffff [ 6599.819343] Corrupted low memory at ffff88000000fed8 (fed8 phys) = fffffcf930018 [ 6599.819489] Corrupted low memory at ffff88000000fee0 (fee0 phys) = fedb000000000000 [ 6599.819637] Corrupted low memory at ffff88000000fee8 (fee8 phys) = 5000000000001 [ 6599.819784] Corrupted low memory at ffff88000000fef8 (fef8 phys) = 30100fedb0000 [ 6599.819931] Corrupted low memory at ffff88000000ff10 (ff10 phys) = ff00000000 [ 6599.820093] Corrupted low memory at ffff88000000ff18 (ff18 phys) = 7c6039c000000000 [ 6599.820242] Corrupted low memory at ffff88000000ff20 (ff20 phys) = 7c6039c0ffff8800 [ 6599.820390] Corrupted low memory at ffff88000000ff28 (ff28 phys) = 8ffff8800 [ 6599.820506] Corrupted low memory at ffff88000000ff30 (ff30 phys) = 100100000000 [ 6599.820655] Corrupted low memory at ffff88000000ff40 (ff40 phys) = 200000000000000 [ 6599.820803] Corrupted low memory at ffff88000000ff50 (ff50 phys) = 100000000 [ 6599.820919] Corrupted low memory at ffff88000000ff58 (ff58 phys) = f300000000 [ 6599.821040] Corrupted low memory at ffff88000000ff60 (ff60 phys) = 100000000 [ 6599.821156] Corrupted low memory at ffff88000000ff68 (ff68 phys) = b200000000 [ 6599.821271] Corrupted low memory at ffff88000000ff78 (ff78 phys) = 7c60376000000000 [ 6599.821419] Corrupted low memory at ffff88000000ff80 (ff80 phys) = 7c603760ffff8800 [ 6599.821567] Corrupted low memory at ffff88000000ff88 (ff88 phys) = f3ffff8800 [ 6599.821683] Corrupted low memory at ffff88000000ff90 (ff90 phys) = b200000000 [ 6599.821798] Corrupted low memory at ffff88000000ffa0 (ffa0 phys) = b2000300000000 [ 6599.821951] Corrupted low memory at ffff88000000ffa8 (ffa8 phys) = 1000000018 [ 6599.822066] Corrupted low memory at ffff88000000ffb0 (ffb0 phys) = 1800000018 [ 6599.822182] Corrupted low memory at ffff88000000ffc0 (ffc0 phys) = 4000000000 [ 6599.822299] Corrupted low memory at ffff88000000ffc8 (ffc8 phys) = 00000400 [ 6599.822414] Corrupted low memory at ffff88000000ffd0 (ffd0 phys) = ffff0ff0 [ 6599.822529] Corrupted low memory at ffff88000000ffd8 (ffd8 phys) = ffffffff811cb74a [ 6599.822679] Corrupted low memory at ffff88000000ffe0 (ffe0 phys) = 00000d01 [ 6599.822802] Corrupted low memory at ffff88000000ffe8 (ffe8 phys) = 00000246 [ 6599.822918] Corrupted low memory at ffff88000000fff0 (fff0 phys) = 7ba7a000 [ 6599.823033] Corrupted low memory at ffff88000000fff8 (fff8 phys) = 8005003b [ 6599.823154] ------------[ cut here ]------------ [ 6599.823265] WARNING: at arch/x86/kernel/setup.c:718 check_for_bios_corruption+0xdc/0xe0() [ 6599.823417] Memory corruption detected in low memory [ 6599.823527] Modules linked in: i915 drm iwlagn iwlcore rfkill led_class [ 6599.824148] Pid: 0, comm: swapper Not tainted 2.6.28-rc8 #107 [ 6599.824262] Call Trace: [ 6599.824366] [] warn_slowpath+0xbc/0xf0 [ 6599.824558] [] ? _spin_unlock_irqrestore+0x70/0x80 [ 6599.824677] [] ? trace_hardirqs_off+0xd/0x10 [ 6599.824795] [] ? printk+0x6c/0x6f [ 6599.824918] [] ? sched_clock+0x9/0x10 [ 6599.825036] [] ? native_sched_clock+0x20/0x80 [ 6599.825152] [] ? sched_clock+0x9/0x10 [ 6599.825268] [] check_for_bios_corruption+0xdc/0xe0 [ 6599.825387] [] ? periodic_check_for_corruption+0x0/0x40 [ 6599.825507] [] periodic_check_for_corruption+0xe/0x40 [ 6599.825628] [] run_timer_softirq+0x180/0x260 [ 6599.825752] [] __do_softirq+0xac/0x1a0 [ 6599.825867] [] call_softirq+0x1c/0x40 [ 6599.825982] [] do_softirq+0x95/0xd0 [ 6599.826096] [] irq_exit+0xa5/0xb0 [ 6599.826210] [] do_IRQ+0x111/0x1d0 [ 6599.826323] [] ret_from_intr+0x0/0x2e [ 6599.826435] [] ? acpi_idle_enter_simple+0x1c3/0x23d [ 6599.826632] [] ? acpi_idle_enter_simple+0x1bb/0x23d [ 6599.826752] [] ? cpuidle_idle_call+0xa5/0x100 [ 6599.826868] [] ? cpu_idle+0x7e/0xe0 [ 6599.826983] [] ? rest_init+0x66/0x70 [ 6599.827095] ---[ end trace c1ef5e07b73eadc1 ]--- [25861.858166] irq status before SMI: enable [25861.927804] irq status after SMI: enable, value: 0xF3 root@hp /home/wfg# root@hp /home/wfg# cat /proc/cmdline nosmp ip=dhcp nfsroot=192.168.2.1:/croot,tcp,rsize=16384 panic=100 nmi_watchdog=1 root=/dev/nfs rw BOOT_IMAGE=croot/vmlinuz root@hp /home/wfg# Kconfig attached. Thanks, Fengguang