From: Greg Kroah-Hartman Date: Sat, 18 Sep 2010 18:19:54 +0000 (-0700) Subject: .35 patches X-Git-Tag: v2.6.27.54~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=55ba1a484bf263f9c7825c6c9ebb9e01259fd2bc;p=thirdparty%2Fkernel%2Fstable-queue.git .35 patches --- diff --git a/queue-2.6.35/drm-only-decouple-the-old_fb-from-the-crtc-is-we-call-mode_set.patch b/queue-2.6.35/drm-only-decouple-the-old_fb-from-the-crtc-is-we-call-mode_set.patch new file mode 100644 index 00000000000..05ec15c4423 --- /dev/null +++ b/queue-2.6.35/drm-only-decouple-the-old_fb-from-the-crtc-is-we-call-mode_set.patch @@ -0,0 +1,42 @@ +From 356ad3cd616185631235ffb48b3efbf39f9923b3 Mon Sep 17 00:00:00 2001 +From: Chris Wilson +Date: Thu, 9 Sep 2010 09:41:32 +0100 +Subject: drm: Only decouple the old_fb from the crtc is we call mode_set* + +From: Chris Wilson + +commit 356ad3cd616185631235ffb48b3efbf39f9923b3 upstream. + +Otherwise when disabling the output we switch to the new fb (which is +likely NULL) and skip the call to mode_set -- leaking driver private +state on the old_fb. + +Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=29857 +Reported-by: Sitsofe Wheeler +Signed-off-by: Chris Wilson +Cc: Dave Airlie +Signed-off-by: Dave Airlie +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/gpu/drm/drm_crtc_helper.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/drivers/gpu/drm/drm_crtc_helper.c ++++ b/drivers/gpu/drm/drm_crtc_helper.c +@@ -610,13 +610,13 @@ int drm_crtc_helper_set_config(struct dr + mode_changed = true; + + if (mode_changed) { +- old_fb = set->crtc->fb; +- set->crtc->fb = set->fb; + set->crtc->enabled = (set->mode != NULL); + if (set->mode != NULL) { + DRM_DEBUG_KMS("attempting to set mode from" + " userspace\n"); + drm_mode_debug_printmodeline(set->mode); ++ old_fb = set->crtc->fb; ++ set->crtc->fb = set->fb; + if (!drm_crtc_helper_set_mode(set->crtc, set->mode, + set->x, set->y, + old_fb)) { diff --git a/queue-2.6.35/series b/queue-2.6.35/series index 501a6fea698..48006b641ee 100644 --- a/queue-2.6.35/series +++ b/queue-2.6.35/series @@ -126,3 +126,4 @@ drm-i915-overlay-on-gen2-can-t-address-above-1g.patch drm-i915-prevent-double-dpms-on.patch drm-i915-don-t-enable-self-refresh-on-ironlake.patch revert-drm-i915-allow-lvds-on-pipe-a-on-gen4.patch +drm-only-decouple-the-old_fb-from-the-crtc-is-we-call-mode_set.patch