]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
more .27 patches
authorGreg Kroah-Hartman <gregkh@suse.de>
Tue, 28 Jul 2009 19:26:30 +0000 (12:26 -0700)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 28 Jul 2009 19:26:30 +0000 (12:26 -0700)
queue-2.6.27/acpi-ec-limit-workaround-for-asus-notebooks-even-more.patch [new file with mode: 0644]
queue-2.6.27/acpi-suspend-don-t-let-device-_ps3-failure-prevent-suspend.patch [new file with mode: 0644]
queue-2.6.27/enable-pnpacpi-_psx-support-v3.patch [new file with mode: 0644]
queue-2.6.27/input-wistron_btns-recognize-maxdata-pro-7000-notebooks.patch [new file with mode: 0644]
queue-2.6.27/series

diff --git a/queue-2.6.27/acpi-ec-limit-workaround-for-asus-notebooks-even-more.patch b/queue-2.6.27/acpi-ec-limit-workaround-for-asus-notebooks-even-more.patch
new file mode 100644 (file)
index 0000000..b9d864b
--- /dev/null
@@ -0,0 +1,32 @@
+From 235c4a59278eb07e61d909f1f0c233733034a8b3 Mon Sep 17 00:00:00 2001
+From: Alexey Starikovskiy <astarikovskiy@suse.de>
+Date: Wed, 14 Jan 2009 02:57:47 +0300
+Subject: ACPI: EC: Limit workaround for ASUS notebooks even more
+
+From: Alexey Starikovskiy <astarikovskiy@suse.de>
+
+commit 235c4a59278eb07e61d909f1f0c233733034a8b3 upstream.
+
+References: http://bugzilla.kernel.org/show_bug.cgi?id=11884
+
+Signed-off-by: Alexey Starikovskiy <astarikovskiy@suse.de>
+Signed-off-by: Len Brown <len.brown@intel.com>
+Cc: Thomas Renninger <trenn@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/acpi/ec.c |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+--- a/drivers/acpi/ec.c
++++ b/drivers/acpi/ec.c
+@@ -1013,7 +1013,8 @@ int __init acpi_ec_ecdt_probe(void)
+        * which needs it, has fake EC._INI method, so use it as flag.
+        * Keep boot_ec struct as it will be needed soon.
+        */
+-      if (ACPI_FAILURE(acpi_get_handle(boot_ec->handle, "_INI", &dummy)))
++      if (!dmi_name_in_vendors("ASUS") ||
++          ACPI_FAILURE(acpi_get_handle(boot_ec->handle, "_INI", &dummy)))
+               return -ENODEV;
+ install:
+       if (!ec_install_handlers(boot_ec)) {
diff --git a/queue-2.6.27/acpi-suspend-don-t-let-device-_ps3-failure-prevent-suspend.patch b/queue-2.6.27/acpi-suspend-don-t-let-device-_ps3-failure-prevent-suspend.patch
new file mode 100644 (file)
index 0000000..74a97ef
--- /dev/null
@@ -0,0 +1,52 @@
+From 19bde778c1fd2574cc020a618d7d576f260271ca Mon Sep 17 00:00:00 2001
+From: Len Brown <len.brown@intel.com>
+Date: Fri, 8 May 2009 00:22:29 -0400
+Subject: ACPI: suspend: don't let device _PS3 failure prevent suspend
+
+From: Len Brown <len.brown@intel.com>
+
+commit 19bde778c1fd2574cc020a618d7d576f260271ca upstream.
+
+6328a57401dc5f5cf9931738eb7268fcd8058c49
+"Enable PNPACPI _PSx Support, v3"
+
+added a call to acpi_bus_set_power(handle, ACPI_STATE_D3)
+to pnpacpi_disable_resource() before the existing call
+to evaluate _DIS on the device.
+
+This caused suspend to fail on the system in
+http://bugzilla.kernel.org/show_bug.cgi?id=13243
+because the sanity check to verify we entered _PS3
+failed on the serial port.
+
+As a work-around, that sanity check can be disabled
+system-wide with "acpi.power_nocheck=1"
+
+Or perhaps we should just shrug off the _PS3 failure
+and carry on with _DIS like we used to -- which is
+what this patch does.
+
+Signed-off-by: Len Brown <len.brown@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/pnp/pnpacpi/core.c |    8 +++-----
+ 1 file changed, 3 insertions(+), 5 deletions(-)
+
+--- a/drivers/pnp/pnpacpi/core.c
++++ b/drivers/pnp/pnpacpi/core.c
+@@ -111,11 +111,9 @@ static int pnpacpi_disable_resources(str
+       /* acpi_unregister_gsi(pnp_irq(dev, 0)); */
+       ret = 0;
+-      if (acpi_bus_power_manageable(handle)) {
+-              ret = acpi_bus_set_power(handle, ACPI_STATE_D3);
+-              if (ret)
+-                      return ret;
+-      }
++      if (acpi_bus_power_manageable(handle))
++              acpi_bus_set_power(handle, ACPI_STATE_D3);
++              /* continue even if acpi_bus_set_power() fails */
+       if (ACPI_FAILURE(acpi_evaluate_object(handle, "_DIS", NULL, NULL)))
+               ret = -ENODEV;
+       return ret;
diff --git a/queue-2.6.27/enable-pnpacpi-_psx-support-v3.patch b/queue-2.6.27/enable-pnpacpi-_psx-support-v3.patch
new file mode 100644 (file)
index 0000000..ce82d9b
--- /dev/null
@@ -0,0 +1,104 @@
+From 6328a57401dc5f5cf9931738eb7268fcd8058c49 Mon Sep 17 00:00:00 2001
+From: Witold Szczeponik <Witold.Szczeponik@gmx.net>
+Date: Mon, 30 Mar 2009 19:31:06 +0200
+Subject: Enable PNPACPI _PSx Support, v3
+
+From: Witold Szczeponik <Witold.Szczeponik@gmx.net>
+
+commit 6328a57401dc5f5cf9931738eb7268fcd8058c49 upstream.
+
+(This is an update to the patch presented earlier in
+http://lkml.org/lkml/2008/12/8/284, with new error handling.)
+
+This patch sets the power of PnP ACPI devices to D0 when they
+are activated and to D3 when they are disabled.  The latter is
+in correspondence with the ACPI 3.0 specification, whereas the
+former is added in order to be able to power up a device after
+it has been previously disabled (or when booting up a system).
+(As a consequence, the patch makes the PnP ACPI code more ACPI
+compliant.)
+
+Section 6.2.2 of the ACPI Specification (at least versions 1.0b
+and 3.0a) states: "Prior to running this control method [_DIS],
+the OS[PM] will have already put the device in the D3 state."
+Unfortunately, there is no clear statement as to when to put
+a device in the D0 state. :-( Therefore, the patch executes the
+method calls as _PS3/_DIS and _SRS/_PS0. What is clear: "If the
+device is disabled, _SRS enables the device at the specified
+resources." (From the ACPI 3.0a Specification.)
+
+The patch fixes a problem with some IBM ThinkPads (at least the
+600E and the 600X) where the serial ports have a dedicated
+power source that needs to be brought up before the serial port
+can be used.  Without this patch, the serial port is enabled
+but has no power. (In the past, the tpctl utility had to be
+utilized to turn on the power, but support for this feature
+stopped with version 5.9 as it did not support the more recent
+kernel versions.)
+
+The error handlers that handle any errors that can occur during
+the power up/power down phases return the error codes to the
+caller directly.  Comments welcome! :-)
+
+No regressions were observed on hardware that does not require
+this patch.
+
+The patch is applied against 2.6.27.x.
+
+Signed-off-by: Witold Szczeponik <Witold.Szczeponik@gmx.net>
+Acked-by: Zhao Yakui <yakui.zhao@intel.com>
+Signed-off-by: Len Brown <len.brown@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/pnp/pnpacpi/core.c |   23 ++++++++++++++++-------
+ 1 file changed, 16 insertions(+), 7 deletions(-)
+
+--- a/drivers/pnp/pnpacpi/core.c
++++ b/drivers/pnp/pnpacpi/core.c
+@@ -84,7 +84,6 @@ static int pnpacpi_set_resources(struct 
+       acpi_handle handle = dev->data;
+       struct acpi_buffer buffer;
+       int ret;
+-      acpi_status status;
+       dev_dbg(&dev->dev, "set resources\n");
+       ret = pnpacpi_build_resource_template(dev, &buffer);
+@@ -95,21 +94,31 @@ static int pnpacpi_set_resources(struct 
+               kfree(buffer.pointer);
+               return ret;
+       }
+-      status = acpi_set_current_resources(handle, &buffer);
+-      if (ACPI_FAILURE(status))
++      if (ACPI_FAILURE(acpi_set_current_resources(handle, &buffer)))
+               ret = -EINVAL;
++      else if (acpi_bus_power_manageable(handle))
++              ret = acpi_bus_set_power(handle, ACPI_STATE_D0);
+       kfree(buffer.pointer);
+       return ret;
+ }
+ static int pnpacpi_disable_resources(struct pnp_dev *dev)
+ {
+-      acpi_status status;
++      acpi_handle handle = dev->data;
++      int ret;
++
++      dev_dbg(&dev->dev, "disable resources\n");
+       /* acpi_unregister_gsi(pnp_irq(dev, 0)); */
+-      status = acpi_evaluate_object((acpi_handle) dev->data,
+-                                    "_DIS", NULL, NULL);
+-      return ACPI_FAILURE(status) ? -ENODEV : 0;
++      ret = 0;
++      if (acpi_bus_power_manageable(handle)) {
++              ret = acpi_bus_set_power(handle, ACPI_STATE_D3);
++              if (ret)
++                      return ret;
++      }
++      if (ACPI_FAILURE(acpi_evaluate_object(handle, "_DIS", NULL, NULL)))
++              ret = -ENODEV;
++      return ret;
+ }
+ #ifdef CONFIG_ACPI_SLEEP
diff --git a/queue-2.6.27/input-wistron_btns-recognize-maxdata-pro-7000-notebooks.patch b/queue-2.6.27/input-wistron_btns-recognize-maxdata-pro-7000-notebooks.patch
new file mode 100644 (file)
index 0000000..aa15532
--- /dev/null
@@ -0,0 +1,49 @@
+From e705cee427e319665969ef7ac664f3612dec8899 Mon Sep 17 00:00:00 2001
+From: Giuseppe Mazzotta <g.mazzotta@iragan.com>
+Date: Sun, 12 Jul 2009 21:02:27 -0700
+Subject: Input: wistron_btns - recognize Maxdata Pro 7000 notebooks
+
+From: Giuseppe Mazzotta <g.mazzotta@iragan.com>
+
+commit e705cee427e319665969ef7ac664f3612dec8899 upstream.
+
+This patch adds DMI information to automatically load the correct
+layout for the Maxdata Pro 7000X/DX notebook models. Such notebooks
+are clones of Fujitsu Amilo V2000, the hook for the v2000 is being
+used and I have tested that perfectly works.
+
+The immediate result of integrating this patch is that the five
+special buttons will work on these specific notebook models and that
+the RF killswitch will not be activated after suspend. This patch
+definitively obsoletes the fsam7400 module which I was still needing
+to enable wifi and to fix the RF killswitch suspend problem; in the
+current 2.6.30 kernel it is necessary to load the wistron_btns module
+with options 'force=1 keymap=1557/MS2141', which was not anyway a
+complete workaround.
+
+Signed-off-by: Giuseppe Mazzotta <g.mazzotta@iragan.com>
+Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/input/misc/wistron_btns.c |    9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+--- a/drivers/input/misc/wistron_btns.c
++++ b/drivers/input/misc/wistron_btns.c
+@@ -627,6 +627,15 @@ static struct dmi_system_id dmi_ids[] __
+       },
+       {
+               .callback = dmi_matched,
++              .ident = "Maxdata Pro 7000 DX",
++              .matches = {
++                      DMI_MATCH(DMI_SYS_VENDOR, "MAXDATA"),
++                      DMI_MATCH(DMI_PRODUCT_NAME, "Pro 7000"),
++              },
++              .driver_data = keymap_fs_amilo_pro_v2000
++      },
++      {
++              .callback = dmi_matched,
+               .ident = "Fujitsu N3510",
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"),
index 0b58d000dc99b9624eec6f8962b7b4341fd07161..8a5c6a6edc794f23ec317039716326968c11aee7 100644 (file)
@@ -21,3 +21,7 @@ x86-don-t-use-access_ok-as-a-range-check-in-get_user_pages_fast.patch
 sunrpc-avoid-an-unnecessary-task-reschedule-on-enotconn.patch
 sunrpc-ensure-we-set-xprt_closing-only-after-we-ve-sent-a-tcp-fin.patch
 sunrpc-don-t-disconnect-if-a-connection-is-still-in-progress.patch
+acpi-ec-limit-workaround-for-asus-notebooks-even-more.patch
+enable-pnpacpi-_psx-support-v3.patch
+acpi-suspend-don-t-let-device-_ps3-failure-prevent-suspend.patch
+input-wistron_btns-recognize-maxdata-pro-7000-notebooks.patch