drm: Check polling initialized before enabling in drm_helper_probe_single_connector_modes
authorjsg <jsg@openbsd.org>
Mon, 15 Apr 2024 01:48:11 +0000 (01:48 +0000)
committerjsg <jsg@openbsd.org>
Mon, 15 Apr 2024 01:48:11 +0000 (01:48 +0000)
From Shradha Gupta
5c1dc516f52a5a0c0370086509ec12e6c3acb428 in linux-6.6.y/6.6.27
048a36d8a6085bbd8ab9e5794b713b92ac986450 in mainline linux

sys/dev/pci/drm/drm_probe_helper.c

index fd7deaa..da3d8e3 100644 (file)
@@ -629,8 +629,12 @@ retry:
                                         0);
        }
 
-       /* Re-enable polling in case the global poll config changed. */
-       drm_kms_helper_poll_enable(dev);
+       /*
+        * Re-enable polling in case the global poll config changed but polling
+        * is still initialized.
+        */
+       if (dev->mode_config.poll_enabled)
+               drm_kms_helper_poll_enable(dev);
 
        if (connector->status == connector_status_disconnected) {
                DRM_DEBUG_KMS("[CONNECTOR:%d:%s] disconnected\n",