diff options
author | Andrzej Hajda <a.hajda@samsung.com> | 2014-08-28 09:07:26 (GMT) |
---|---|---|
committer | Inki Dae <daeinki@gmail.com> | 2014-09-19 15:56:10 (GMT) |
commit | 6f7d48ea6541ac8c1000b7515c9fc458ba3d0f21 (patch) | |
tree | 3a3ef7273bcd7ebe347434ed1c02d12634053b38 | |
parent | 9b5bd1c42059212883ba5687afd9025a67f192a3 (diff) | |
download | linux-6f7d48ea6541ac8c1000b7515c9fc458ba3d0f21.tar.xz |
drm/exynos/ipp: cancel works before command node clean
All pending works should be canceled prior to its removal.
Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Joonyoung Shim <jy0922.shim@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
-rw-r--r-- | drivers/gpu/drm/exynos/exynos_drm_ipp.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/exynos/exynos_drm_ipp.c b/drivers/gpu/drm/exynos/exynos_drm_ipp.c index da917ca..9770966 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c +++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c @@ -502,6 +502,11 @@ err_clear: static void ipp_clean_cmd_node(struct ipp_context *ctx, struct drm_exynos_ipp_cmd_node *c_node) { + /* cancel works */ + cancel_work_sync(&c_node->start_work->work); + cancel_work_sync(&c_node->stop_work->work); + cancel_work_sync(&c_node->event_work->work); + /* delete list */ list_del(&c_node->list); |