--- drivers/gpu/drm/i915/intel_dp.c +++ drivers/gpu/drm/i915/intel_dp.c @@ -1949,6 +1949,18 @@ ironlake_edp_panel_vdd_off(intel_dp); } + /* confirm the existence of the device with a simple probe */ + if (intel_encoder->type == INTEL_OUTPUT_EDP && + intel_dp_aux_native_read(intel_dp, + 0x000, intel_dp->dpcd, + sizeof (intel_dp->dpcd)) + != sizeof(intel_dp->dpcd)) { + kfree(intel_dp); + kfree(intel_connector); + return; + } + + intel_encoder->hot_plug = intel_dp_hot_plug; if (is_edp(intel_dp)) {