aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/drm_atomic_helper.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c
index 716aa535eb98..de7fddce3cef 100644
--- a/drivers/gpu/drm/drm_atomic_helper.c
+++ b/drivers/gpu/drm/drm_atomic_helper.c
@@ -1579,11 +1579,8 @@ void drm_atomic_helper_commit_cleanup_done(struct drm_atomic_state *state)
1579 /* commit_list borrows our reference, need to remove before we 1579 /* commit_list borrows our reference, need to remove before we
1580 * clean up our drm_atomic_state. But only after it actually 1580 * clean up our drm_atomic_state. But only after it actually
1581 * completed, otherwise subsequent commits won't stall properly. */ 1581 * completed, otherwise subsequent commits won't stall properly. */
1582 if (try_wait_for_completion(&commit->flip_done)) { 1582 if (try_wait_for_completion(&commit->flip_done))
1583 list_del(&commit->commit_entry); 1583 goto del_commit;
1584 spin_unlock(&crtc->commit_lock);
1585 continue;
1586 }
1587 1584
1588 spin_unlock(&crtc->commit_lock); 1585 spin_unlock(&crtc->commit_lock);
1589 1586
@@ -1597,6 +1594,7 @@ void drm_atomic_helper_commit_cleanup_done(struct drm_atomic_state *state)
1597 crtc->base.id, crtc->name); 1594 crtc->base.id, crtc->name);
1598 1595
1599 spin_lock(&crtc->commit_lock); 1596 spin_lock(&crtc->commit_lock);
1597del_commit:
1600 list_del(&commit->commit_entry); 1598 list_del(&commit->commit_entry);
1601 spin_unlock(&crtc->commit_lock); 1599 spin_unlock(&crtc->commit_lock);
1602 } 1600 }