This is a note to let you know that I've just added the patch titled
drm/i915: Fix crash when failing to parse MIPI VBT
to the 3.16-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
drm-i915-fix-crash-when-failing-to-parse-mipi-vbt.patch
and it can be found in the queue-3.16 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From ed3b6679936801fa2dab47e7a6ef74e383400ed9 Mon Sep 17 00:00:00 2001
From: Rafael Barbalho <[email protected]>
Date: Thu, 24 Jul 2014 15:16:12 +0100
Subject: drm/i915: Fix crash when failing to parse MIPI VBT
From: Rafael Barbalho <[email protected]>
commit ed3b6679936801fa2dab47e7a6ef74e383400ed9 upstream.
This particular nasty presented itself while trying to register the
intelfb device (intel_fbdev.c). During the process of registering the device
the driver will disable the crtc via i9xx_crtc_disable. These will
also disable the panel using the generic mipi panel functions in
dsi_mod_vbt_generic.c. The stale MIPI generic data sequence pointers would
cause a crash within those functions. However, all of this is happening
while console_lock is held from do_register_framebuffer inside fbcon.c. Which
means that you got kernel log and just the device appearing to reboot/hang for
no apparent reason.
The fault started from the FB_EVENT_FB_REGISTERED event using the
fb_notifier_call_chain call in fbcon.c.
This regression has been introduced in
commit d3b542fcfc72d7724585e3fd2c5e75351bc3df47
Author: Shobhit Kumar <[email protected]>
Date: Mon Apr 14 11:00:34 2014 +0530
drm/i915: Add parsing support for new MIPI blocks in VBT
Cc: Shobhit Kumar <[email protected]>
Signed-off-by: Rafael Barbalho <[email protected]>
Reviewed-by: Shobhit Kumar <[email protected]>
[danvet: Add regression citation.]
Signed-off-by: Daniel Vetter <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/gpu/drm/i915/intel_bios.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/gpu/drm/i915/intel_bios.c
+++ b/drivers/gpu/drm/i915/intel_bios.c
@@ -877,7 +877,7 @@ err:
/* error during parsing so set all pointers to null
* because of partial parsing */
- memset(dev_priv->vbt.dsi.sequence, 0, MIPI_SEQ_MAX);
+ memset(dev_priv->vbt.dsi.sequence, 0,
sizeof(dev_priv->vbt.dsi.sequence));
}
static void parse_ddi_port(struct drm_i915_private *dev_priv, enum port port,
Patches currently in stable-queue which might be from [email protected]
are
queue-3.16/drm-i915-fix-crash-when-failing-to-parse-mipi-vbt.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html