--- linux-3.19.8/drivers/gpu/drm/i915/i915_irq.c 2015-05-11 06:34:10.000000000 -0600 +++ linux-3.19.8.new/drivers/gpu/drm/i915/i915_irq.c 2015-05-30 11:19:11.225555644 -0600 @@ -855,8 +855,6 @@ old_status = connector->status; connector->status = connector->funcs->detect(connector, false); - if (old_status == connector->status) - return false; DRM_DEBUG_KMS("[CONNECTOR:%d:%s] status updated from %s to %s\n", connector->base.id, @@ -976,10 +974,13 @@ continue; intel_encoder = intel_connector->encoder; if (hpd_event_bits & (1 << intel_encoder->hpd_pin)) { - if (intel_encoder->hot_plug) + changed = true; + + if (intel_encoder->hot_plug) { intel_encoder->hot_plug(intel_encoder); - if (intel_hpd_irq_event(dev, connector)) - changed = true; + } + + intel_hpd_irq_event(dev, connector); } } mutex_unlock(&mode_config->mutex);