]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.19-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Mar 2015 18:41:25 +0000 (19:41 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 24 Mar 2015 18:41:25 +0000 (19:41 +0100)
added patches:
drm-i915-use-in_interrupt-not-in_irq-to-check-context.patch

queue-3.19/drm-i915-use-in_interrupt-not-in_irq-to-check-context.patch [new file with mode: 0644]
queue-3.19/series

diff --git a/queue-3.19/drm-i915-use-in_interrupt-not-in_irq-to-check-context.patch b/queue-3.19/drm-i915-use-in_interrupt-not-in_irq-to-check-context.patch
new file mode 100644 (file)
index 0000000..5309773
--- /dev/null
@@ -0,0 +1,40 @@
+From 6c51d46f135b00c00373fcd029786ccef2b02b5b Mon Sep 17 00:00:00 2001
+From: Dave Gordon <david.s.gordon@intel.com>
+Date: Fri, 6 Mar 2015 15:34:26 +0000
+Subject: drm/i915: use in_interrupt() not in_irq() to check context
+
+From: Dave Gordon <david.s.gordon@intel.com>
+
+commit 6c51d46f135b00c00373fcd029786ccef2b02b5b upstream.
+
+The kernel in_irq() function tests for hard-IRQ context only, so if a
+system is run with the kernel 'threadirqs' option selected, the test in
+intel_check_page_flip() generates lots of warnings, because then it gets
+called in soft-IRQ context.
+
+We can instead use in_interrupt() which allows for either type of
+interrupt, while still detecting and complaining about misuse of the
+page flip code if it is ever called from non-interrupt context.
+
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89321
+Signed-off-by: Dave Gordon <david.s.gordon@intel.com>
+Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
+Signed-off-by: Jani Nikula <jani.nikula@intel.com>
+Cc: Josh Boyer <jwboyer@fedoraproject.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/gpu/drm/i915/intel_display.c |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/drivers/gpu/drm/i915/intel_display.c
++++ b/drivers/gpu/drm/i915/intel_display.c
+@@ -9702,7 +9702,7 @@ void intel_check_page_flip(struct drm_de
+       struct drm_crtc *crtc = dev_priv->pipe_to_crtc_mapping[pipe];
+       struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
+-      WARN_ON(!in_irq());
++      WARN_ON(!in_interrupt());
+       if (crtc == NULL)
+               return;
index aaa0bbfcb36005b12ce6860516b35911b195ddca..2cd69bf9b71fa0617c16eeacf6eb99ebd2fa00f3 100644 (file)
@@ -121,3 +121,4 @@ target-fix-reference-leak-in-target_get_sess_cmd-error-path.patch
 target-fix-virtual-lun-0-target_configure_device-failure-oops.patch
 iscsi-target-avoid-early-conn_logout_comp-for-iser-connections.patch
 target-pscsi-fix-null-pointer-dereference-in-get_device_type.patch
+drm-i915-use-in_interrupt-not-in_irq-to-check-context.patch