diff --git a/debian/changelog b/debian/changelog index ddcfbcf89..9cf353f1b 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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) diff --git a/debian/patches/bugfix/x86/drm-i915-don-t-compare-has_drrs-strictly-in-pipe-con.patch b/debian/patches/bugfix/x86/drm-i915-don-t-compare-has_drrs-strictly-in-pipe-con.patch new file mode 100644 index 000000000..92c3db3b2 --- /dev/null +++ b/debian/patches/bugfix/x86/drm-i915-don-t-compare-has_drrs-strictly-in-pipe-con.patch @@ -0,0 +1,44 @@ +From: Takashi Iwai +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: # v4.3+ +Reported-and-tested-by: Max Lin +Signed-off-by: Takashi Iwai +Reviewed-by: Daniel Vetter +Link: http://patchwork.freedesktop.org/patch/msgid/1448461607-16868-1-git-send-email-tiwai@suse.de +Signed-off-by: Jani Nikula +--- + 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 diff --git a/debian/patches/series b/debian/patches/series index d762ba14d..5b17d35e1 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -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