This is a note to let you know that I've just added the patch titled ACPI / TPM: Fix resume regression on Chromebooks to the 3.14-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: acpi-tpm-fix-resume-regression-on-chromebooks.patch and it can be found in the queue-3.14 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From f759546498d820670934c901a2fdf1ce948d2e5c Mon Sep 17 00:00:00 2001 From: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx> Date: Mon, 12 May 2014 01:13:28 +0200 Subject: ACPI / TPM: Fix resume regression on Chromebooks From: "Rafael J. Wysocki" <rafael.j.wysocki@xxxxxxxxx> commit f759546498d820670934c901a2fdf1ce948d2e5c upstream. Chromebooks (at least Acer C720 and Pixel) implement an ACPI object for TPM, but don't implement the _DSM method to support PPI. As a result, the TPM driver fails to load on those machines after commit 1569a4c4ceba (ACPI / TPM: detect PPI features by checking availability of _DSM functions) which causes them to fail to resume from system suspend, becuase they require the TPM hardware to be put into the right state during resume and the TPM driver is necessary for that. Fix the problem by making tpm_add_ppi() return 0 when tpm_ppi_handle is still NULL after walking the ACPI namespace in search for the PPI _DSM, which allows the TPM driver to load and operate the hardware (during system resume in particular), but avoid creating the PPI sysfs group in that case. This change is based on a prototype patch from Jiang Liu. Fixes: 1569a4c4ceba (ACPI / TPM: detect PPI features by checking availability of _DSM functions) References: https://bugzilla.kernel.org/show_bug.cgi?id=74021 Reported-by: James Duley <jagduley@xxxxxxxxx> Reported-by: Phillip Dixon <phil@xxxxxxxxxxxx> Tested-by: Brandon Casey <drafnel@xxxxxxxxx> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- drivers/char/tpm/tpm_ppi.c | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) --- a/drivers/char/tpm/tpm_ppi.c +++ b/drivers/char/tpm/tpm_ppi.c @@ -328,13 +328,11 @@ int tpm_add_ppi(struct kobject *parent) /* Cache TPM ACPI handle and version string */ acpi_walk_namespace(ACPI_TYPE_DEVICE, ACPI_ROOT_OBJECT, ACPI_UINT32_MAX, ppi_callback, NULL, NULL, &tpm_ppi_handle); - if (tpm_ppi_handle == NULL) - return -ENODEV; - - return sysfs_create_group(parent, &ppi_attr_grp); + return tpm_ppi_handle ? sysfs_create_group(parent, &ppi_attr_grp) : 0; } void tpm_remove_ppi(struct kobject *parent) { - sysfs_remove_group(parent, &ppi_attr_grp); + if (tpm_ppi_handle) + sysfs_remove_group(parent, &ppi_attr_grp); } Patches currently in stable-queue which might be from rafael.j.wysocki@xxxxxxxxx are queue-3.14/pnp-acpi-do-not-return-errors-if-_dis-or-_srs-are-not-present.patch queue-3.14/acpi-blacklist-win8-osi-for-dell-inspiron-7737.patch queue-3.14/acpi-blacklist-add-dmi_enable_osi_linux-quirk-for-asus-eee-pc-1015px.patch queue-3.14/acpi-revert-acpi-remove-config_acpi_procfs_power-and-cm_sbsc.c.patch queue-3.14/acpica-tables-restore-old-behavor-to-favor-32-bit-fadt-addresses.patch queue-3.14/acpi-video-revert-native-brightness-quirk-for-thinkpad-t530.patch queue-3.14/acpi-tpm-fix-resume-regression-on-chromebooks.patch queue-3.14/acpi-revert-acpi-battery-remove-battery-s-proc-directory.patch queue-3.14/acpi-ec-process-rather-than-discard-events-in-acpi_ec_clear.patch queue-3.14/acpi-revert-acpi-ac-convert-acpi-ac-driver-to-platform-bus.patch queue-3.14/acpi-processor-do-not-mark-present-at-boot-but-not-onlined-cpu-as-onlined.patch queue-3.14/acpi-video-correct-dmi-tag-for-dell-inspiron-7520.patch queue-3.14/acpica-tables-fix-invalid-pointer-accesses-in-acpi_tb_parse_root_table.patch queue-3.14/acpi-video-add-use_native_backlight-quirks-for-more-systems.patch -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html