diff options
author | Mario Kleiner <mario.kleiner.de@gmail.com> | 2016-03-01 21:31:16 +0100 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2016-03-05 18:31:45 +0100 |
commit | 90e94b160c7f647ddffda707f5e3c0c66c170df8 (patch) | |
tree | 36a50d847b90bf8108d2f00584a8abd154ce5780 /drivers/gpu/drm/radeon/radeon_display.c | |
parent | Merge branch 'drm-fixes-4.5' of git://people.freedesktop.org/~agd5f/linux int... (diff) | |
download | linux-90e94b160c7f647ddffda707f5e3c0c66c170df8.tar.xz linux-90e94b160c7f647ddffda707f5e3c0c66c170df8.zip |
drm/amdgpu: Fix error handling in amdgpu_flip_work_func.
The patch e1d09dc0ccc6: "drm/amdgpu: Don't hang in
amdgpu_flip_work_func on disabled crtc." from Feb 19, 2016, leads to
the following static checker warning, as reported by Dan Carpenter in
https://lists.freedesktop.org/archives/dri-devel/2016-February/101987.html
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:127 amdgpu_flip_work_func() warn: should this be 'repcnt == -1'
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:136 amdgpu_flip_work_func() error: double unlock 'spin_lock:&crtc->dev->event_lock'
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c:136 amdgpu_flip_work_func() error: double unlock 'irqsave:flags'
This patch fixes both reported problems:
Change post-decrement of repcnt to pre-decrement, so
it can't underflow anymore, but still performs up to
three repetitions - three is the maximum one could
expect in practice.
Move the spin_unlock_irqrestore to where it actually
belongs.
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Cc: <stable@vger.kernel.org> # 4.4+
Cc: Michel Dänzer <michel.daenzer@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_display.c')
0 files changed, 0 insertions, 0 deletions