]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commitdiff
thinkpad-acpi: disable broken bay and dock subdrivers
authorHenrique de Moraes Holschuh <hmh@hmh.eng.br>
Sat, 1 Aug 2009 15:04:17 +0000 (12:04 -0300)
committerLen Brown <len.brown@intel.com>
Sun, 2 Aug 2009 03:38:51 +0000 (23:38 -0400)
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@hmh.eng.br>
Reported-by: Joerg Platte <jplatte@naasa.net>
Cc: stable@kernel.org
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/platform/x86/Kconfig

index 46dad12f952f21b9bb874008abbf133b131aa6ad..6335f63892dc8c02367e771c65d2b9f4e9616968 100644 (file)
@@ -281,6 +281,7 @@ config THINKPAD_ACPI_DOCK
        bool "Legacy Docking Station Support"
        depends on THINKPAD_ACPI
        depends on ACPI_DOCK=n
+       depends on BROKEN
        default n
        ---help---
          Allows the thinkpad_acpi driver to handle docking station events.
@@ -294,7 +295,8 @@ config THINKPAD_ACPI_DOCK
 config THINKPAD_ACPI_BAY
        bool "Legacy Removable Bay Support"
        depends on THINKPAD_ACPI
-       default y
+       depends on BROKEN
+       default n
        ---help---
          Allows the thinkpad_acpi driver to handle removable bays.  It will
          electrically disable the device in the bay, and also generate