From patchwork Sat Jun 6 23:52:48 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?VmlsbGUgU3lyasOkbMOk?= X-Patchwork-Id: 6560451 Return-Path: X-Original-To: patchwork-dri-devel@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id 19D3FC0020 for ; Sat, 6 Jun 2015 23:53:09 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id 0E34D204D5 for ; Sat, 6 Jun 2015 23:53:08 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by mail.kernel.org (Postfix) with ESMTP id C514620459 for ; Sat, 6 Jun 2015 23:53:06 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 416FC6E142; Sat, 6 Jun 2015 16:53:04 -0700 (PDT) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 4EA456E142 for ; Sat, 6 Jun 2015 16:53:02 -0700 (PDT) Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga103.jf.intel.com with ESMTP; 06 Jun 2015 16:53:00 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.13,565,1427785200"; d="scan'208";a="742389816" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.88]) by orsmga002.jf.intel.com with SMTP; 06 Jun 2015 16:52:57 -0700 Received: by stinkbox (sSMTP sendmail emulation); Sun, 07 Jun 2015 02:52:48 +0300 Date: Sun, 7 Jun 2015 02:52:48 +0300 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= To: Stefan Lippers-Hollmann Subject: Re: git pull] drm for v4.1-rc1 Message-ID: <20150606235248.GZ5176@intel.com> References: <20150605231821.6c740f67@mir> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20150605231821.6c740f67@mir> User-Agent: Mutt/1.5.23 (2014-03-12) Cc: Ander Conselvan de Oliveira , Nicolas Kalkhof , Daniel Vetter , linux-kernel@vger.kernel.org, DRI mailing list , Jani Nikula , torvalds@linux-foundation.org X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00, RCVD_IN_DNSWL_MED, T_RP_MATCHES_RCVD, UNPARSEABLE_RELAY autolearn=unavailable version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP On Fri, Jun 05, 2015 at 11:18:21PM +0200, Stefan Lippers-Hollmann wrote: > Hi > > On 2015-04-20, Dave Airlie wrote: > [...] > > The following changes since commit 09d51602cf84a1264946711dd4ea0dddbac599a1: > > > > Merge branch 'turbostat' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux (2015-04-19 14:31:41 -0700) > > > > are available in the git repository at: > > > > git://people.freedesktop.org/~airlied/linux drm-next-merged > > > > for you to fetch changes up to 2c33ce009ca2389dbf0535d0672214d09738e35e: > > > > Merge Linus master into drm-next (2015-04-20 13:05:20 +1000) > [...] > > Ander Conselvan de Oliveira (28): > [...] > > drm/i915: Allocate connector state together with the connectors > [...] > > This commit introduces a regression relative to v4.0 on an Intel > D945GCLF2 mainboard[1] (Atom 330) with Intel 82945G/GZ onboard graphics > using its (only-) VGA connector for me. > > v4.1-rc6-52-gff25ea8: > [ 13.265699] BUG: unable to handle kernel NULL pointer dereference at 0000000000000010 > [ 13.265723] IP: [] intel_modeset_update_connector_atomic_state+0x61/0x90 [i915] Hmm. Smells like a connector with a NULL state pointer, and the bad commit touched exactly the part that sets it up. I can't immediately spot any place where we'd forget to set it up though. Can you try with something like this so we'd at least find out which connector(s) is/are at fault here? diff --git a/drivers/gpu/drm/drm_crtc.c b/drivers/gpu/drm/drm_crtc.c index 3007b44..c10f423 100644 --- a/drivers/gpu/drm/drm_crtc.c +++ b/drivers/gpu/drm/drm_crtc.c @@ -918,6 +918,8 @@ int drm_connector_init(struct drm_device *dev, connector->debugfs_entry = NULL; + WARN(1, "connector = %p\n", connector); + out_put: if (ret) drm_mode_object_put(dev, &connector->base); diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index d0f3cbc..dd8ced7 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c @@ -10332,6 +10332,10 @@ static void intel_modeset_update_connector_atomic_state(struct drm_device *dev) struct intel_connector *connector; for_each_intel_connector(dev, connector) { + if (WARN(!connector->base.state, + "connector = %p\n", &connector->base)) + continue; + if (connector->base.encoder) { connector->base.state->best_encoder = connector->base.encoder;