return status;
 }
 
+static int intel_spurious_crt_detect_dmi_callback(const struct dmi_system_id *id)
+{
+       DRM_DEBUG_DRIVER("Skipping CRT detection for %s\n", id->ident);
+       return 1;
+}
+
+static const struct dmi_system_id intel_spurious_crt_detect[] = {
+       {
+               .callback = intel_spurious_crt_detect_dmi_callback,
+               .ident = "ACER ZGB",
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "ACER"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "ZGB"),
+               },
+       },
+       { }
+};
+
 static enum drm_connector_status
 intel_crt_detect(struct drm_connector *connector, bool force)
 {
                      connector->base.id, connector->name,
                      force);
 
+       /* Skip machines without VGA that falsely report hotplug events */
+       if (dmi_check_system(intel_spurious_crt_detect))
+               return connector_status_disconnected;
+
        power_domain = intel_display_port_power_domain(intel_encoder);
        intel_display_power_get(dev_priv, power_domain);
 
        .destroy = intel_encoder_destroy,
 };
 
-static int intel_no_crt_dmi_callback(const struct dmi_system_id *id)
-{
-       DRM_INFO("Skipping CRT initialization for %s\n", id->ident);
-       return 1;
-}
-
-static const struct dmi_system_id intel_no_crt[] = {
-       {
-               .callback = intel_no_crt_dmi_callback,
-               .ident = "ACER ZGB",
-               .matches = {
-                       DMI_MATCH(DMI_SYS_VENDOR, "ACER"),
-                       DMI_MATCH(DMI_PRODUCT_NAME, "ZGB"),
-               },
-       },
-       { }
-};
-
 void intel_crt_init(struct drm_device *dev)
 {
        struct drm_connector *connector;
        i915_reg_t adpa_reg;
        u32 adpa;
 
-       /* Skip machines without VGA that falsely report hotplug events */
-       if (dmi_check_system(intel_no_crt))
-               return;
-
        if (HAS_PCH_SPLIT(dev))
                adpa_reg = PCH_ADPA;
        else if (IS_VALLEYVIEW(dev))
                crt->base.disable = intel_disable_crt;
        }
        crt->base.enable = intel_enable_crt;
-       if (I915_HAS_HOTPLUG(dev))
+       if (I915_HAS_HOTPLUG(dev) &&
+           !dmi_check_system(intel_spurious_crt_detect))
                crt->base.hpd_pin = HPD_CRT;
        if (HAS_DDI(dev)) {
                crt->base.port = PORT_E;