linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [BISECTED] drm: random hang since 620f378 "drm: prune modes when ..."
@ 2009-12-07 17:30 Arnd Bergmann
  2009-12-08 21:59 ` Arnd Bergmann
  0 siblings, 1 reply; 29+ messages in thread
From: Arnd Bergmann @ 2009-12-07 17:30 UTC (permalink / raw)
  To: Dave Airlie; +Cc: Adam Jackson, linux-kernel, dri-devel

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))

^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2009-12-30 22:01 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-12-07 17:30 [BISECTED] drm: random hang since 620f378 "drm: prune modes when ..." Arnd Bergmann
2009-12-08 21:59 ` Arnd Bergmann
2009-12-08 22:13   ` Dave Airlie
2009-12-08 23:07     ` Arnd Bergmann
2009-12-09  5:38       ` Dave Airlie
2009-12-13 12:18         ` Arnd Bergmann
2009-12-13 12:30           ` Arnd Bergmann
2009-12-13 20:00             ` Daniel Vetter
2009-12-13 21:31               ` Arnd Bergmann
2009-12-13 21:54                 ` Dave Airlie
2009-12-14 18:20                   ` Jesse Barnes
2009-12-14 20:38                     ` Arnd Bergmann
2009-12-14 20:50                       ` Jesse Barnes
2009-12-15  9:51                         ` Arnd Bergmann
2009-12-16 13:53                           ` Arnd Bergmann
2009-12-16 20:18                             ` Jesse Barnes
2009-12-16 21:20                               ` Arnd Bergmann
2009-12-16 21:30                                 ` Jesse Barnes
2009-12-16 21:36                                   ` Arnd Bergmann
2009-12-16 22:41                                     ` Arnd Bergmann
2009-12-17 17:25                                       ` Jesse Barnes
2009-12-17 17:52                                         ` Arnd Bergmann
2009-12-17 19:13                                           ` Jesse Barnes
2009-12-19 13:16                                             ` Arnd Bergmann
2009-12-21 16:06                                             ` Arnd Bergmann
2009-12-21 17:57                                               ` Arnd Bergmann
2009-12-28 18:47                                                 ` Jesse Barnes
2009-12-30 22:00                                                   ` Arnd Bergmann
2009-12-16 12:19                     ` Mathieu Taillefumier

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).