diff options
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/gpu/drm/drm_atomic_helper.c | 8 |
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); |
| 1597 | del_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 | } |
