diff options
| author | Hans de Goede <[email protected]> | 2019-08-11 14:37:24 +0000 |
|---|---|---|
| committer | Hans de Goede <[email protected]> | 2019-08-12 19:30:20 +0000 |
| commit | 9b61db1aed5c62180a374ab4dd774d1625bdd8d4 (patch) | |
| tree | ca8be2e79efbd0950489584c42d8547f97c93e63 /drivers/gpu/drm/amd/amdgpu/amdgpu_object.h | |
| parent | drm: gm12u320: Use DRM_DEV_ERROR everywhere (diff) | |
| download | kernel-9b61db1aed5c62180a374ab4dd774d1625bdd8d4.tar.gz kernel-9b61db1aed5c62180a374ab4dd774d1625bdd8d4.zip | |
drm: gm12u320: Do not take a mutex from a wait_event condition
I made the condition of the wait_event_timeout call in
gm12u320_fb_update_work a helper which takes a mutex to make sure
that any writes to fb_update.run or fb_update.fb from other CPU cores
are seen before the check is done.
This is not necessary as the wait_event helpers contain the necessary
barriers for this themselves.
More over it is harmfull since by the time the check is done the task
is no longer in the TASK_RUNNING state and calling mutex_lock while not
in task-running is not allowed, leading to this warning when the kernel
is build with some extra locking checks enabled:
[11947.450011] do not call blocking ops when !TASK_RUNNING; state=2 set at
[<00000000e4306de6>] prepare_to_wait_event+0x61/0x190
This commit fixes this by dropping the helper and simply directly
checking the condition (without unnecessary locking) in the
wait_event_timeout call.
Acked-by: Sam Ravnborg <[email protected]>
Signed-off-by: Hans de Goede <[email protected]>
Link: https://patchwork.freedesktop.org/patch/msgid/[email protected]
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_object.h')
0 files changed, 0 insertions, 0 deletions
