diff options
author | 2019-10-01 08:42:26 +0000 | |
---|---|---|
committer | 2019-10-01 08:42:26 +0000 | |
commit | 6e0c5681854928b91d97ac7d84c9f481aa1033db (patch) | |
tree | 7bd4c601d494fa53ddb299d4824df76599b07a56 | |
parent | Revert "drm/amd/powerplay: Enable/Disable NBPSTATE on On/OFF of UVD" (diff) | |
download | wireguard-openbsd-6e0c5681854928b91d97ac7d84c9f481aa1033db.tar.xz wireguard-openbsd-6e0c5681854928b91d97ac7d84c9f481aa1033db.zip |
drm: Flush output polling on shutdown
From Chris Wilson
ff0fbfacc94f94afae61fd06f44a0d5ac199008c in linux 4.19.y/4.19.76
3b295cb1a411d9c82bbfaa66bc17a8508716ed07 in mainline linux
-rw-r--r-- | sys/dev/pci/drm/drm_probe_helper.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/dev/pci/drm/drm_probe_helper.c b/sys/dev/pci/drm/drm_probe_helper.c index 5cbd1f54d71..4b0e02e37e2 100644 --- a/sys/dev/pci/drm/drm_probe_helper.c +++ b/sys/dev/pci/drm/drm_probe_helper.c @@ -585,6 +585,9 @@ static void output_poll_execute(struct work_struct *work) enum drm_connector_status old_status; bool repoll = false, changed; + if (!dev->mode_config.poll_enabled) + return; + /* Pick up any changes detected by the probe functions. */ changed = dev->mode_config.delayed_event; dev->mode_config.delayed_event = false; @@ -741,7 +744,11 @@ EXPORT_SYMBOL(drm_kms_helper_poll_init); */ void drm_kms_helper_poll_fini(struct drm_device *dev) { - drm_kms_helper_poll_disable(dev); + if (!dev->mode_config.poll_enabled) + return; + + dev->mode_config.poll_enabled = false; + cancel_delayed_work_sync(&dev->mode_config.output_poll_work); } EXPORT_SYMBOL(drm_kms_helper_poll_fini); |