Hi Linus, please pull from: git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git release The larger changes are simple, reverting a bad commit and deleting some broken features. This will update the files shown below. thanks! -- Len Brown Intel Open Source Technology Center ps. individual patches are available on linux-acpi@xxxxxxxxxxxxxxx and a consolidated plain patch is available here: http://ftp.kernel.org/pub/linux/kernel/people/lenb/acpi/patches/2.6.31/acpi-release-20090521-2.6.31-rc5.diff.gz Documentation/laptops/thinkpad-acpi.txt | 127 ---------- drivers/acpi/acpi_memhotplug.c | 34 ++- drivers/acpi/acpica/acobject.h | 1 + drivers/acpi/acpica/dsopcode.c | 24 ++ drivers/acpi/acpica/exfldio.c | 6 + drivers/acpi/osl.c | 25 ++ drivers/acpi/system.c | 2 +- drivers/platform/x86/Kconfig | 25 -- drivers/platform/x86/eeepc-laptop.c | 9 +- drivers/platform/x86/hp-wmi.c | 12 +- drivers/platform/x86/thinkpad_acpi.c | 390 ++++--------------------------- include/acpi/acpiosxf.h | 4 + 12 files changed, 148 insertions(+), 511 deletions(-) through these commits: Alan Jenkins (1): eeepc-laptop: fix hot-unplug on resume Bjorn Helgaas (1): ACPI: bind workqueues to CPU 0 to avoid SMI corruption Frans Pop (1): hp-wmi: check that an input device exists in resume handler Henrique de Moraes Holschuh (3): thinkpad-acpi: disable broken bay and dock subdrivers thinkpad-acpi: remove dock and bay subdrivers thinkpad-acpi: fix incorrect use of TPACPI_BRGHT_MODE_ECNVRAM Len Brown (2): Revert "ACPICA: Remove obsolete acpi_os_validate_address interface" ACPI: root-only read protection on /sys/firmware/acpi/tables/* Michael Buesch (1): thinkpad-acpi: restrict procfs count value to sane upper limit Zhao Yakui (2): ACPI: Don't treat generic error as ACPI error code in acpi memory hotplug driver ACPI: Ingore the memory block with zero block size in course of memory hotplug with this log: commit 3be4ee5199ba20475749d768bf29c8399c755a69 Merge: 95452a6 d0006f3 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 2 12:55:51 2009 -0400 Merge branch 'misc-2.6.31' into release commit 95452a6ce17244059e184fe5f722bff66a2b52bf Merge: a571a79 7334546 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 2 12:36:01 2009 -0400 Merge branch 'bugzilla-13825' into release commit 7334546a52c6764df120459509b1f803a073eacc Author: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Date: Mon Jun 29 09:40:07 2009 +0100 eeepc-laptop: fix hot-unplug on resume OOPS on resume when the wireless adaptor is disabled during suspend was introduced by "eeepc-laptop: read rfkill soft-blocked state on resume". Unable to handle kernel NULL pointer dereference Process s2disk Tainted: G W IP: klist_put Call trace: ? klist_del ? device_del ? device_unregister ? pci_stop_dev ? pci_stop_bus ? pci_remove_device ? eeepc_rfkill_hotplug [eeepc_laptop] ? eeepc_hotk_resume [eeepc_laptop] ? acpi_device_resume ? device_resume ? hibernation_snapshot It appears the PCI device is removed twice. The eeepc_rfkill_hotplug() call from the resume handler is racing against the call from the ACPI notifier callback. The ACPI notification is triggered by the resume handler when it refreshes the value of CM_ASL_WLAN. The fix is to serialize hotplug calls using a workqueue. http://bugzilla.kernel.org/show_bug.cgi?id=13825 Signed-off-by: Alan Jenkins <alan-jenkins@xxxxxxxxxxxxxx> Acked-by: Corentin Chary <corentin.chary@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit a571a79a7e6b614f26d6bcc25b2ad48fd63fb829 Merge: 6a61487 5d2619f Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 2 12:27:26 2009 -0400 Merge branch 'memhotplug-crash' into release commit 5d2619fca753d270e63e76c9e18437b0d9bc8d75 Author: Zhao Yakui <yakui.zhao@xxxxxxxxx> Date: Tue Jul 7 10:56:11 2009 +0800 ACPI: Ingore the memory block with zero block size in course of memory hotplug If the memory block size is zero, ignore it and don't do the memory hotplug flowchart. Otherwise it will complain the following warning message: >System RAM resource 0 - ffffffffffffffff cannot be added Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit aa7b2b2e973874df99a45b31adbed5978b46be1f Author: Zhao Yakui <yakui.zhao@xxxxxxxxx> Date: Fri Jul 3 10:49:03 2009 +0800 ACPI: Don't treat generic error as ACPI error code in acpi memory hotplug driver Don't treat the generic error as ACPI error code. Otherwise when the generic code is returned, it will complain the following warning messag: >ACPI Exception (acpi_memhotplug-0171): UNKNOWN_STATUS_CODE, Cannot get acpi bus device [20080609] >ACPI: Cannot find driver data > ACPI Error (utglobal-0127): Unknown exception code: 0xFFFFFFED [20080609] > Pid: 85, comm: kacpi_notify Not tainted 2.6.27.19-5-default #1 Call Trace: [<ffffffff8020da29>] show_trace_log_lvl+0x41/0x58 [<ffffffff8049a3da>] dump_stack+0x69/0x6f ..... At the same time when the generic error code is returned, the ACPI_EXCEPTION is replaced by the printk. Signed-off-by: Zhao Yakui <yakui.zhao@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 6a61487791a8b8f85542c51132e8c7ed9bc7fd0b Merge: f63440e 74b5820 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 2 12:10:02 2009 -0400 Merge branch 'bugzilla-13751' into release commit 74b5820808215f65b70b05a099d6d3c969b82689 Author: Bjorn Helgaas <bjorn.helgaas@xxxxxx> Date: Wed Jul 29 15:54:25 2009 -0600 ACPI: bind workqueues to CPU 0 to avoid SMI corruption On some machines, a software-initiated SMI causes corruption unless the SMI runs on CPU 0. An SMI can be initiated by any AML, but typically it's done in GPE-related methods that are run via workqueues, so we can avoid the known corruption cases by binding the workqueues to CPU 0. References: http://bugzilla.kernel.org/show_bug.cgi?id=13751 https://bugs.launchpad.net/bugs/157171 https://bugs.launchpad.net/bugs/157691 Signed-off-by: Bjorn Helgaas <bjorn.helgaas@xxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit f63440eff06265fc56e73044f8727b12641b33f1 Merge: 437f8c8 59fe4fe Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 2 11:34:24 2009 -0400 Merge branch 'thinkpad' into release commit 437f8c8ab99e7b6eed8e0d6d9cf46085c8de2e36 Merge: b8a848e daed953 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 2 11:33:01 2009 -0400 Merge branch 'bugzilla-13865' into release commit b8a848ed7ffda36ed069f63de085a9411d2aa39f Merge: ed680c4 7cb7f45 Author: Len Brown <len.brown@xxxxxxxxx> Date: Sun Aug 2 11:31:32 2009 -0400 Merge branch 'bugzilla-13620-revert' into release commit d0006f3281c920fbfead0f5035c62ec8053f980a Author: Len Brown <len.brown@xxxxxxxxx> Date: Thu Jul 30 16:00:53 2009 -0400 ACPI: root-only read protection on /sys/firmware/acpi/tables/* they were world readable. Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 59fe4fe34d7afdf63208124f313be9056feaa2f4 Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Sat Aug 1 12:04:20 2009 -0300 thinkpad-acpi: fix incorrect use of TPACPI_BRGHT_MODE_ECNVRAM HBRV-based default selection of backlight control strategy didn't work well, at least the X41 defines it but doesn't use it and I don't think it will stop there. Switch to a white/blacklist. All models that have HBRV defined have been included in the list, and initially all ATI GPUs will get ECNVRAM, and the Intel GPUs will get UCMS_STEP. Symptoms of incorrect backlight mode selection are: 1. Non-working backlight control through sysfs; 2. Backlight gets reset to the lowest level at every shutdown, reboot and when thinkpad-acpi gets unloaded; This fixes a regression in 2.6.30, bugzilla #13826 Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Reported-by: Tobias Diedrich <ranma+kernel@xxxxxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 5b05d4696d38c3172e79e855cc1e2ed044589508 Author: Michael Buesch <mb@xxxxxxxxx> Date: Sat Aug 1 12:04:19 2009 -0300 thinkpad-acpi: restrict procfs count value to sane upper limit Signed-off-by: Michael Buesch <mb@xxxxxxxxx> Acked-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 1f6fc2de9525e34ee93bd392fa046369a8cfbf1e Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Sat Aug 1 12:04:18 2009 -0300 thinkpad-acpi: remove dock and bay subdrivers The standard ACPI dock driver can handle the hotplug bays and docks of the ThinkPads just fine (including batteries) as of 2.6.27, and the code in thinkpad-acpi for the dock and bay subdrivers is currently broken anyway... Userspace needs some love to support the two-stage ejection nicely, but it is simple enough to do through udev rules (you don't even need HAL) so this wouldn't justify fixing the dock and bay subdrivers, either. That leaves warm-swap bays (_EJ3) support for thinkpad-acpi, as well as support for the weird dock of the model 570, but since such support has never left the "experimental" stage, it is also not a strong enough reason to find a way to fix this code. Users of ThinkPads with warm-swap bays are urged to request that _EJ3 support be added to the regular ACPI dock driver, if such feature is indeed useful for them. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 550e7fd8afb7664ae7cedb398c407694e2bf7d3c Author: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Date: Sat Aug 1 12:04:17 2009 -0300 thinkpad-acpi: disable broken bay and dock subdrivers Currently, the ThinkPad-ACPI bay and dock drivers are completely broken, and cause a NULL pointer derreference in kernel mode (and, therefore, an OOPS) when they try to issue events (i.e. on dock, undock, bay ejection, etc). OTOH, the standard ACPI dock driver can handle the hotplug bays and docks of the ThinkPads just fine (including batteries) as of 2.6.27. In fact, it does a much better job of it than thinkpad-acpi ever did. It is just not worth the hassle to find a way to fix this crap without breaking the (deprecated) thinkpad-acpi dock/bay ABI. This is old, deprecated code that sees little testing or use. As a quick fix suitable for -stable backports, mark the thinkpad-acpi bay and dock subdrivers as BROKEN in Kconfig. The dead code will be removed by a later patch. This fixes bugzilla #13669, and should be applied to 2.6.27 and later. Signed-off-by: Henrique de Moraes Holschuh <hmh@xxxxxxxxxx> Reported-by: Joerg Platte <jplatte@xxxxxxxxx> Cc: stable@xxxxxxxxxx Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit daed953721850381673687c59f3a0df553eb6626 Author: Frans Pop <elendil@xxxxxxxxx> Date: Thu Jul 30 17:16:05 2009 -0400 hp-wmi: check that an input device exists in resume handler Some systems may not support input events, or registering the input handler may have failed. So check that an input device exists before trying to set the docking and tablet mode state during resume. Fixes: http://bugzilla.kernel.org/show_bug.cgi?id=13865 Reported-and-tested-by: Cédric Godin <cedric@xxxxxxxxxx> Signed-off-by: Frans Pop <elendil@xxxxxxxxx> Acked-by: Matthew Garrett <mjg59@xxxxxxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx> commit 7cb7f45c7feef43c8f71f5cfedfc0b19be2142f7 Author: Len Brown <len.brown@xxxxxxxxx> Date: Mon Jul 27 18:42:38 2009 -0400 Revert "ACPICA: Remove obsolete acpi_os_validate_address interface" pp This reverts commit f9ca058430333c9a24c5ca926aa445125f88df18. which caused a regression: http://bugzilla.kernel.org/show_bug.cgi?id=13620 Signed-off-by: Lin Ming <ming.m.lin@xxxxxxxxx> Signed-off-by: Len Brown <len.brown@xxxxxxxxx>