Bug 1096511

Summary: Kernel 3.14.x breaks suspend on Acer C720P
Product: [Fedora] Fedora Reporter: Yannick Defais <sevmek>
Component: kernelAssignee: Kernel Maintainer List <kernel-maint>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: 20CC: gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, mchehab, sevmek
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-06-11 21:54:23 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
Fix touchscreen/touchpad/suspend/als and add zram for kernel 3.14.x none

Description Yannick Defais 2014-05-11 12:39:14 UTC
Created attachment 894419 [details]
Fix touchscreen/touchpad/suspend/als and add zram for kernel 3.14.x

Description of problem:
Since kernel 3.14.2 (including .3), suspend is broken on the Acer C720P or C720; it causes a hard reset when opening the screen.

Version-Release number of selected component (if applicable):
3.14.2 and 3.14.3

How reproducible:
close and open the screen. Works everytime

Steps to Reproduce:
1.close the screen
2.open the screen
3.the computer exhibit a hard reset

Actual results:
hard reset

Expected results:
suspend should work

Additional info:
This patch is the cause of the issue:
https://github.com/torvalds/linux/commit/1569a4c4ceba
Reverting it fix the issue.

Relevant parts of the script fixing this issue:
***
# Fix suspend by reverting drivers/char/tpm/tpm_ppi.c to kernel 3.13 behavior
wget -O - https://github.com/torvalds/linux/commit/1569a4c4ceba.patch | patch -p1 -R

# Suspend
cd drivers/char/tpm/
mv Makefile Makefile.orig
echo 'KERNELVERSION = '$archkernver'
obj-m += tpm.o
tpm-y := tpm-interface.o tpm-dev.o tpm-sysfs.o
tpm-y += tpm_ppi.o
tpm-y += tpm_eventlog.o tpm_acpi.o

KDIR  := /lib/modules/$(shell uname -r)/build
PWD   := $(shell pwd)

default:
	$(MAKE) -C $(KDIR) M=$(PWD) modules' > Makefile
make -C /lib/modules/$archkernver/build M=$PWD modules
rm Makefile
mv Makefile.orig Makefile
cd ../../..

mkdir -p /lib/modules/$archkernver/kernel/drivers/char/tpm/ && cp drivers/char/tpm/tpm.ko /lib/modules/$archkernver/kernel/drivers/char/tpm/

***
Grub must also be updated with those options:
in /etc/default/grub, add:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash tpm_tis.force=1 tpm_tis.interrupts=0"

Update grub:

# grub2-mkconfig -o /boot/grub2/grub.cfg

"tpm_tis.interrupts=0" is the necessary part. As my spare time is rare, I've not tested removeing the other options.

Reference for who had find the fix:
https://bbs.archlinux.org/viewtopic.php?id=173418&p=8
Posts #195 and #208

Comment 1 Josh Boyer 2014-05-12 13:35:06 UTC
There's actually a fix for this posted.  I'll try and get a scratch-build done with the fix included later today.  See:

https://lkml.org/lkml/2014/5/11/296

Comment 2 Yannick Defais 2014-05-12 15:10:02 UTC
@Josh,

Indeed.
Upstream bug where the fiX was found:
https://bugzilla.kernel.org/show_bug.cgi?id=74021

I'll give a try to this fix when I've got some spare time for inclusion in my script, until it appears in 3.15 in Fedora.

Thank you!

Comment 3 Josh Boyer 2014-05-20 16:22:58 UTC
Yannick, did you get a chance to try the patch?  I did a scratch build but forgot to include a link to it here and have since lost it.

Comment 4 Josh Boyer 2014-06-11 21:54:23 UTC
This should be fixed with:

commit fcbe7574986518eb6896c18804dc77d8dfd879ea
Author: Rafael J. Wysocki <rafael.j.wysocki>
Date:   Mon May 12 01:13:28 2014 +0200

    ACPI / TPM: Fix resume regression on Chromebooks
    
    commit f759546498d820670934c901a2fdf1ce948d2e5c upstream.
    

which is in 3.14.6.

Comment 5 Yannick Defais 2014-06-12 19:12:20 UTC
I tested kernel 3.14.6 and I confirm this issue is now closed. Thank you guys!