diff -up linux-2.6.33.noarch/drivers/gpu/drm/i915/intel_display.c.orig linux-2.6.33.noarch/drivers/gpu/drm/i915/intel_display.c
--- linux-2.6.33.noarch/drivers/gpu/drm/i915/intel_display.c.orig	2010-03-31 16:59:39.901995671 -0400
+++ linux-2.6.33.noarch/drivers/gpu/drm/i915/intel_display.c	2010-03-31 17:01:05.416996744 -0400
@@ -3757,7 +3757,6 @@ struct drm_crtc *intel_get_load_detect_p
 void intel_release_load_detect_pipe(struct intel_encoder *intel_encoder, int dpms_mode)
 {
 	struct drm_encoder *encoder = &intel_encoder->enc;
-	struct drm_device *dev = encoder->dev;
 	struct drm_crtc *crtc = encoder->crtc;
 	struct drm_encoder_helper_funcs *encoder_funcs = encoder->helper_private;
 	struct drm_crtc_helper_funcs *crtc_funcs = crtc->helper_private;
@@ -3767,7 +3766,6 @@ void intel_release_load_detect_pipe(stru
 		intel_encoder->base.encoder = NULL;
 		intel_encoder->load_detect_temp = false;
 		crtc->enabled = drm_helper_crtc_in_use(crtc);
-		drm_helper_disable_unused_functions(dev);
 	}
 
 	/* Switch crtc and output back off if necessary */
