summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/cpu/amd.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2017-12-27 09:02:02 +0100
committerTakashi Iwai <tiwai@suse.de>2017-12-27 09:02:02 +0100
commit7ad3423ebb02f340671f70a916bdc8dbec7573ee (patch)
treeb9168d363c24f2af2626e63011ec1f6c81e81d09 /arch/x86/kernel/cpu/amd.c
parent56a23ee52611ca76421f3d7cac100e1616716dae (diff)
parent44be77c590f381bc629815ac789b8b15ecc4ddcf (diff)
downloadtalos-op-linux-7ad3423ebb02f340671f70a916bdc8dbec7573ee.tar.gz
talos-op-linux-7ad3423ebb02f340671f70a916bdc8dbec7573ee.zip
Merge branch 'for-linus' into for-next
Back-merge the upstream branch for applying further cleanup patches for HD-Audio. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'arch/x86/kernel/cpu/amd.c')
-rw-r--r--arch/x86/kernel/cpu/amd.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/kernel/cpu/amd.c b/arch/x86/kernel/cpu/amd.c
index d58184b7cd44..bcb75dc97d44 100644
--- a/arch/x86/kernel/cpu/amd.c
+++ b/arch/x86/kernel/cpu/amd.c
@@ -804,8 +804,11 @@ static void init_amd(struct cpuinfo_x86 *c)
case 0x17: init_amd_zn(c); break;
}
- /* Enable workaround for FXSAVE leak */
- if (c->x86 >= 6)
+ /*
+ * Enable workaround for FXSAVE leak on CPUs
+ * without a XSaveErPtr feature
+ */
+ if ((c->x86 >= 6) && (!cpu_has(c, X86_FEATURE_XSAVEERPTR)))
set_cpu_bug(c, X86_BUG_FXSAVE_LEAK);
cpu_detect_cache_sizes(c);
OpenPOWER on IntegriCloud