Linux v4.0.7

This commit is contained in:
Laura Abbott 2015-06-29 14:06:24 -07:00
parent af2152ee52
commit a59e742de3
3 changed files with 5 additions and 66 deletions

View File

@ -54,7 +54,7 @@ Summary: The Linux kernel
%if 0%{?released_kernel}
# Do we have a -stable update to apply?
%define stable_update 6
%define stable_update 7
# Set rpm version accordingly
%if 0%{?stable_update}
%define stablerev %{stable_update}
@ -675,9 +675,6 @@ Patch26220: 0001-mwifiex-use-del_timer-variant-in-interrupt-context.patch
#rhbz 1226743
Patch26221: drm-i915-turn-off-wc-mmaps.patch
#rhbz 1227877
Patch26222: powerpc-powernv-Restore-non-volatile-CRs-after-nap.patch
#rhbz 1212230
Patch26238: Input-Revert-Revert-synaptics-use-dmax-in-input_mt_a.patch
Patch26239: Input-synaptics-allocate-3-slots-to-keep-stability-i.patch
@ -1467,9 +1464,6 @@ ApplyPatch 0001-mwifiex-use-del_timer-variant-in-interrupt-context.patch
#rhbz 1226743
ApplyPatch drm-i915-turn-off-wc-mmaps.patch
#rhbz 1227877
ApplyPatch powerpc-powernv-Restore-non-volatile-CRs-after-nap.patch
#rhbz 1212230
ApplyPatch Input-Revert-Revert-synaptics-use-dmax-in-input_mt_a.patch
ApplyPatch Input-synaptics-allocate-3-slots-to-keep-stability-i.patch
@ -2340,6 +2334,9 @@ fi
# ||----w |
# || ||
%changelog
* Mon Jun 29 2015 Laura Abbott <labbott@fedoraproject.org> - 4.0.7-200
- Linux v4.0.7
* Tue Jun 23 2015 Justin M. Forbes <jforbes@fedoraproject.org> - 4.0.6-200
- Linux v4.0.6

View File

@ -1,58 +0,0 @@
From: Sam Bobroff <sam.bobroff@au1.ibm.com>
Date: Fri, 1 May 2015 16:50:34 +1000
Subject: [PATCH] powerpc/powernv: Restore non-volatile CRs after nap
Patches 7cba160ad "powernv/cpuidle: Redesign idle states management"
and 77b54e9f2 "powernv/powerpc: Add winkle support for offline cpus"
use non-volatile condition registers (cr2, cr3 and cr4) early in the system
reset interrupt handler (system_reset_pSeries()) before it has been determined
if state loss has occurred. If state loss has not occurred, control returns via
the power7_wakeup_noloss() path which does not restore those condition
registers, leaving them corrupted.
Fix this by restoring the condition registers in the power7_wakeup_noloss()
case.
This is apparent when running a KVM guest on hardware that does not
support winkle or sleep and the guest makes use of secondary threads. In
practice this means Power7 machines, though some early unreleased Power8
machines may also be susceptible.
The secondary CPUs are taken off line before the guest is started and
they call pnv_smp_cpu_kill_self(). This checks support for sleep
states (in this case there is no support) and power7_nap() is called.
When the CPU is woken, power7_nap() returns and because the CPU is
still off line, the main while loop executes again. The sleep states
support test is executed again, but because the tested values cannot
have changed, the compiler has optimized the test away and instead we
rely on the result of the first test, which has been left in cr3
and/or cr4. With the result overwritten, the wrong branch is taken and
power7_winkle() is called on a CPU that does not support it, leading
to it stalling.
Fixes: 7cba160ad789 ("powernv/cpuidle: Redesign idle states management")
Fixes: 77b54e9f213f ("powernv/powerpc: Add winkle support for offline cpus")
[mpe: Massage change log a bit more]
Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
---
arch/powerpc/kernel/idle_power7.S | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/powerpc/kernel/idle_power7.S b/arch/powerpc/kernel/idle_power7.S
index 05adc8bbdef8..401d8d0085aa 100644
--- a/arch/powerpc/kernel/idle_power7.S
+++ b/arch/powerpc/kernel/idle_power7.S
@@ -500,9 +500,11 @@ BEGIN_FTR_SECTION
CHECK_HMI_INTERRUPT
END_FTR_SECTION_IFSET(CPU_FTR_HVMODE)
ld r1,PACAR1(r13)
+ ld r6,_CCR(r1)
ld r4,_MSR(r1)
ld r5,_NIP(r1)
addi r1,r1,INT_FRAME_SIZE
+ mtcr r6
mtspr SPRN_SRR1,r4
mtspr SPRN_SRR0,r5
rfid

View File

@ -1,3 +1,3 @@
a86916bd12798220da9eb4a1eec3616d linux-4.0.tar.xz
d125eecce68ab6fb5f1f23523c2c04b8 perf-man-4.0.tar.gz
8ad50a9bdcb3895f1e60acb971bd990b patch-4.0.6.xz
7396e86d2c1909aad4cb6ddb8cef434a patch-4.0.7.xz