[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <200912071830.14697.arnd@arndb.de>
Date: Mon, 7 Dec 2009 18:30:14 +0100
From: Arnd Bergmann <arnd@...db.de>
To: Dave Airlie <airlied@...hat.com>
Cc: Adam Jackson <ajax@...hat.com>, linux-kernel@...r.kernel.org,
dri-devel@...ts.sourceforge.net
Subject: [BISECTED] drm: random hang since 620f378 "drm: prune modes when ..."
After upgrading one of my machines to 2.6.32, I saw hangs after one to thirty minutes after
booting, with random data written to parts of the frame buffer. I've bisected it down
to 620f37811d "drm: prune modes when output is disconnected.", which was merged
in 2.6.32-rc1. Connecting a serial console does not reveal any output at the time of
the crash.
The machine uses an Intel G45 chipset with the i915 kernel mode setting enabled.
I have no clue what that patch does or why reverting it fixes the problem but 2.6.32
with this revert applied has not shown these hangs yet.
Signed-off-by: Arnd Bergmann <arnd@...db.de>
---
--- a/drivers/gpu/drm/drm_crtc_helper.c
+++ b/drivers/gpu/drm/drm_crtc_helper.c
@@ -104,7 +104,8 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
if (connector->status == connector_status_disconnected) {
DRM_DEBUG_KMS("%s is disconnected\n",
drm_get_connector_name(connector));
- goto prune;
+ /* TODO set EDID to NULL */
+ return 0;
}
count = (*connector_funcs->get_modes)(connector);
@@ -132,7 +133,6 @@ int drm_helper_probe_single_connector_modes(struct drm_connector *connector,
mode);
}
-prune:
drm_mode_prune_invalid(dev, &connector->modes, true);
if (list_empty(&connector->modes))
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists