Messages in this thread Patch in this message | | | From | Arnd Bergmann <> | Subject | [BISECTED] drm: random hang since 620f378 "drm: prune modes when ..." | Date | Mon, 7 Dec 2009 18:30:14 +0100 |
| |
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@arndb.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))
| |