[x86] drm/i915: Don't compare has_drrs strictly in pipe config (Closes: #808720)

This commit is contained in:
Ben Hutchings 2016-01-01 19:24:50 +00:00
parent 45e2ecad07
commit 50263628e4
3 changed files with 47 additions and 0 deletions

2
debian/changelog vendored
View File

@ -14,6 +14,8 @@ linux (4.3.3-3) UNRELEASED; urgency=medium
* [armhf] udeb: Add modular clock, GPIO, PHY and regulator drivers to
core-modules (Closes: #809521)
* drm/nouveau/pmu: do not assume a PMU is present (Closes: #809481)
* [x86] drm/i915: Don't compare has_drrs strictly in pipe config
(Closes: #808720)
[ Salvatore Bonaccorso ]
* ovl: fix permission checking for setattr (CVE-2015-8660)

View File

@ -0,0 +1,44 @@
From: Takashi Iwai <tiwai@suse.de>
Date: Wed, 25 Nov 2015 15:26:47 +0100
Subject: drm/i915: Don't compare has_drrs strictly in pipe config
Origin: https://git.kernel.org/linus/13b13dfaaa39ab52b0f433c6744f4638793cbf7b
Bug-Debian: https://bugs.debian.org/808720
The commit [cfb23ed622d0: drm/i915: Allow fuzzy matching in
pipe_config_compare, v2] relaxed the way to compare the pipe
configurations, but one new comparison sneaked in there: it added the
strict has_drrs value check. This causes a regression on many
machines, typically HP laptops with a docking port, where the kernel
spews warnings and eventually fails to set the mode properly like:
[drm:intel_pipe_config_compare [i915]] *ERROR* mismatch in has_drrs (expected 1, found 0)
------------[ cut here ]------------
WARNING: CPU: 0 PID: 79 at drivers/gpu/drm/i915/intel_display.c:12700 intel_modeset_check_state+0x5aa/0x870 [i915]()
pipe state doesn't match!
....
This patch just removes the check again for fixing the regression.
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=104041
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92456
Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=956397
Fixes: cfb23ed622d0 ('drm/i915: Allow fuzzy matching in pipe_config_compare, v2')
Cc: <stable@vger.kernel.org> # v4.3+
Reported-and-tested-by: Max Lin <mlin@suse.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Link: http://patchwork.freedesktop.org/patch/msgid/1448461607-16868-1-git-send-email-tiwai@suse.de
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/intel_display.c | 1 -
1 file changed, 1 deletion(-)
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -12427,7 +12427,6 @@ intel_pipe_config_compare(struct drm_dev
if (INTEL_INFO(dev)->gen < 8) {
PIPE_CONF_CHECK_M_N(dp_m_n);
- PIPE_CONF_CHECK_I(has_drrs);
if (current_config->has_drrs)
PIPE_CONF_CHECK_M_N(dp_m2_n2);
} else

View File

@ -129,3 +129,4 @@ bugfix/all/ptrace-being-capable-wrt-a-process-requires-mapped-uids-gids.patch
bugfix/all/keys-fix-race-between-read-and-revoke.patch
bugfix/x86/KVM-x86-Reload-pit-counters-for-all-channels-when-re.patch
bugfix/all/drm-nouveau-pmu-do-not-assume-a-pmu-is-present.patch
bugfix/x86/drm-i915-don-t-compare-has_drrs-strictly-in-pipe-con.patch