From: Daniel Vetter <daniel@ffwll.ch>
To: rafael.barbalho@intel.com
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH] drm/i915: Fix crash when failing to parse MIPI VBT
Date: Fri, 25 Jul 2014 09:50:10 +0200 [thread overview]
Message-ID: <20140725075010.GL4747@phenom.ffwll.local> (raw)
In-Reply-To: <20140725074706.GK4747@phenom.ffwll.local>
On Fri, Jul 25, 2014 at 09:47:06AM +0200, Daniel Vetter wrote:
> On Thu, Jul 24, 2014 at 03:16:12PM +0100, rafael.barbalho@intel.com wrote:
> > From: Rafael Barbalho <rafael.barbalho@intel.com>
> >
> > 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.
>
> CONFIG_I915_FBDEV=n for when the console_lock gets in the way.
>
> > The fault started from the FB_EVENT_FB_REGISTERED event using the
> > fb_notifier_call_chain call in fbcon.c.
> >
> > Cc: Shobhit Kumar <shobhit.kumar@intel.com>
> > Signed-off-by: Rafael Barbalho <rafael.barbalho@intel.com>
>
> Queued for -next, thanks for the patch.
Actually this is for fixes since 3.16 has dsi support. Also for
regressions please cite the commit that introduced the offending
behaviour. I've added that.
-Daniel
> -Daniel
> > ---
> > drivers/gpu/drm/i915/intel_bios.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_bios.c b/drivers/gpu/drm/i915/intel_bios.c
> > index 608ed30..a669550 100644
> > --- a/drivers/gpu/drm/i915/intel_bios.c
> > +++ b/drivers/gpu/drm/i915/intel_bios.c
> > @@ -878,7 +878,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,
> > --
> > 2.0.2
> >
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
--
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
next prev parent reply other threads:[~2014-07-25 7:50 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-24 14:16 [PATCH] drm/i915: Fix crash when failing to parse MIPI VBT rafael.barbalho
2014-07-25 6:32 ` Kumar, Shobhit
2014-07-25 7:47 ` Daniel Vetter
2014-07-25 7:50 ` Daniel Vetter [this message]
2014-07-25 9:41 ` Kumar, Shobhit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140725075010.GL4747@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=intel-gfx@lists.freedesktop.org \
--cc=rafael.barbalho@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.