From: Greg Kroah-Hartman Date: Tue, 28 Jul 2009 19:26:30 +0000 (-0700) Subject: more .27 patches X-Git-Tag: v2.6.30.4~8 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1044f2dd8e14b6aca42316c93c8dc73cb56b3d3b;p=thirdparty%2Fkernel%2Fstable-queue.git more .27 patches --- 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 index 00000000000..b9d864b8119 --- /dev/null +++ b/queue-2.6.27/acpi-ec-limit-workaround-for-asus-notebooks-even-more.patch @@ -0,0 +1,32 @@ +From 235c4a59278eb07e61d909f1f0c233733034a8b3 Mon Sep 17 00:00:00 2001 +From: Alexey Starikovskiy +Date: Wed, 14 Jan 2009 02:57:47 +0300 +Subject: ACPI: EC: Limit workaround for ASUS notebooks even more + +From: Alexey Starikovskiy + +commit 235c4a59278eb07e61d909f1f0c233733034a8b3 upstream. + +References: http://bugzilla.kernel.org/show_bug.cgi?id=11884 + +Signed-off-by: Alexey Starikovskiy +Signed-off-by: Len Brown +Cc: Thomas Renninger +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..74a97efcfea --- /dev/null +++ b/queue-2.6.27/acpi-suspend-don-t-let-device-_ps3-failure-prevent-suspend.patch @@ -0,0 +1,52 @@ +From 19bde778c1fd2574cc020a618d7d576f260271ca Mon Sep 17 00:00:00 2001 +From: Len Brown +Date: Fri, 8 May 2009 00:22:29 -0400 +Subject: ACPI: suspend: don't let device _PS3 failure prevent suspend + +From: Len Brown + +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 +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..ce82d9b2fc5 --- /dev/null +++ b/queue-2.6.27/enable-pnpacpi-_psx-support-v3.patch @@ -0,0 +1,104 @@ +From 6328a57401dc5f5cf9931738eb7268fcd8058c49 Mon Sep 17 00:00:00 2001 +From: Witold Szczeponik +Date: Mon, 30 Mar 2009 19:31:06 +0200 +Subject: Enable PNPACPI _PSx Support, v3 + +From: Witold Szczeponik + +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 +Acked-by: Zhao Yakui +Signed-off-by: Len Brown +Signed-off-by: Greg Kroah-Hartman + +--- + 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 index 00000000000..aa155327aa9 --- /dev/null +++ b/queue-2.6.27/input-wistron_btns-recognize-maxdata-pro-7000-notebooks.patch @@ -0,0 +1,49 @@ +From e705cee427e319665969ef7ac664f3612dec8899 Mon Sep 17 00:00:00 2001 +From: Giuseppe Mazzotta +Date: Sun, 12 Jul 2009 21:02:27 -0700 +Subject: Input: wistron_btns - recognize Maxdata Pro 7000 notebooks + +From: Giuseppe Mazzotta + +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 +Signed-off-by: Dmitry Torokhov +Signed-off-by: Greg Kroah-Hartman + +--- + 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"), diff --git a/queue-2.6.27/series b/queue-2.6.27/series index 0b58d000dc9..8a5c6a6edc7 100644 --- a/queue-2.6.27/series +++ b/queue-2.6.27/series @@ -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