diff --git a/drivers/gpu/drm/drm_probe_helper.c b/drivers/gpu/drm/drm_probe_helper.c index 078d9703a4fe..ac953f037be7 100644 --- a/drivers/gpu/drm/drm_probe_helper.c +++ b/drivers/gpu/drm/drm_probe_helper.c @@ -392,7 +392,11 @@ static void output_poll_execute(struct work_struct *work) if (!drm_kms_helper_poll) goto out; - mutex_lock(&dev->mode_config.mutex); + if (!mutex_trylock(&dev->mode_config.mutex)) { + repoll = true; + goto out; + } + drm_for_each_connector(connector, dev) { /* Ignore forced connectors. */