From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] drm/i915: unbreak lastclose for failed driver init Date: Mon, 23 Jul 2012 22:17:47 +0200 Message-ID: <20120723201747.GD5079@phenom.ffwll.local> References: <1342882029-1176-1-git-send-email-daniel.vetter@ffwll.ch> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail-wg0-f43.google.com (mail-wg0-f43.google.com [74.125.82.43]) by gabe.freedesktop.org (Postfix) with ESMTP id A86219E943 for ; Mon, 23 Jul 2012 13:17:41 -0700 (PDT) Received: by wgbdr1 with SMTP id dr1so4912594wgb.12 for ; Mon, 23 Jul 2012 13:17:40 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1342882029-1176-1-git-send-email-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: Intel Graphics Development Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org On Sat, Jul 21, 2012 at 04:47:09PM +0200, Daniel Vetter wrote: > We now refuse to load on gen6+ if kms is not enabled: > > commit 26394d9251879231b85e6c8cf899fa43e75c68f1 > Author: Daniel Vetter > Date: Mon Mar 26 21:33:18 2012 +0200 > > drm/i915: refuse to load on gen6+ without kms > > Which results in the drm core calling our lastclose function to clean > up the mess, but that one is neatly broken for such failure cases > since kms has been introduced in > > commit 79e539453b34e35f39299a899d263b0a1f1670bd > Author: Jesse Barnes > Date: Fri Nov 7 14:24:08 2008 -0800 > > DRM: i915: add mode setting support > > Reported-by: Paulo Zanoni > Signed-Off-by: Daniel Vetter I've picked this one up for -fixes, although Paulo still has issues with modeset=0 (but no longer this backtrace). -Daniel > --- > drivers/gpu/drm/i915/i915_dma.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c > index 23868d3..25901c3 100644 > --- a/drivers/gpu/drm/i915/i915_dma.c > +++ b/drivers/gpu/drm/i915/i915_dma.c > @@ -1781,7 +1781,13 @@ void i915_driver_lastclose(struct drm_device * dev) > { > drm_i915_private_t *dev_priv = dev->dev_private; > > - if (!dev_priv || drm_core_check_feature(dev, DRIVER_MODESET)) { > + /* On gen6+ we refuse to init without kms enabled, but then the drm core > + * goes right around and calls lastclose. Check for this and don't clean > + * up anything. */ > + if (!dev_priv) > + return; > + > + if (drm_core_check_feature(dev, DRIVER_MODESET)) { > intel_fb_restore_mode(dev); > vga_switcheroo_process_delayed_switch(); > return; > -- > 1.7.10.4 > -- Daniel Vetter Mail: daniel@ffwll.ch Mobile: +41 (0)79 365 57 48