Reported by 0day:
sparse: context imbalance in 'amdgpu_dm_commit_planes' - unexpected unlock
a0c37809 Harry Wentland 2017-08-10 3958 spin_lock_irqsave(&crtc->dev->event_lock, flags);
a0c37809 Harry Wentland 2017-08-10 3959 if (acrtc_attach->pflip_status != AMDGPU_FLIP_NONE) {
f56f75db Harry Wentland 2017-07-27 3960 DRM_ERROR("%s: acrtc %d, already busy\n",
f56f75db Harry Wentland 2017-07-27 3961 __func__,
a0c37809 Harry Wentland 2017-08-10 3962 acrtc_attach->crtc_id);
a0c37809 Harry Wentland 2017-08-10 3963 spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
1224981c Harry Wentland 2017-07-26 3964 /* In commit tail framework this cannot happen */
a0c37809 Harry Wentland 2017-08-10 3965 WARN_ON(1);
a0c37809 Harry Wentland 2017-08-10 3966 }
a0c37809 Harry Wentland 2017-08-10 @3967 spin_unlock_irqrestore(&crtc->dev->event_lock, flags);
a0c37809 Harry Wentland 2017-08-10 3968
Indeed, the code shows a double unlock in the error case.
Comment 1 by groeck@chromium.org
, Jan 4 2018The problem has been fixed upstream with commit 53a23207f2a1 ("amdgpu/dc: Fix double unlock in amdgpu_dm_commit_planes").