summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/exynos/exynos_drm_ipp.c
diff options
context:
space:
mode:
authorAndrzej Hajda <a.hajda@samsung.com>2014-08-28 11:07:26 +0200
committerChanho Park <chanho61.park@samsung.com>2014-11-18 12:00:44 +0900
commitc4ddd512d116c53ac7fe2138a2bf0322a2eaa555 (patch)
tree3a7f99aea7a7f7def7ae4fce969861db99e414e2 /drivers/gpu/drm/exynos/exynos_drm_ipp.c
parent5a87c4a1f113cf4df5f8d87d2082196ee416629d (diff)
downloadlinux-3.10-c4ddd512d116c53ac7fe2138a2bf0322a2eaa555.tar.gz
linux-3.10-c4ddd512d116c53ac7fe2138a2bf0322a2eaa555.tar.bz2
linux-3.10-c4ddd512d116c53ac7fe2138a2bf0322a2eaa555.zip
drm/exynos/ipp: cancel works before command node clean
All pending works should be canceled prior to its removal. Change-Id: I6adaf0fcc447f3fdbed4dd8cfb873e1b5d1fdb84 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>
Diffstat (limited to 'drivers/gpu/drm/exynos/exynos_drm_ipp.c')
-rw-r--r--drivers/gpu/drm/exynos/exynos_drm_ipp.c5
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 ae71d9eb951..6eec2c9f8da 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_ipp.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_ipp.c
@@ -548,6 +548,11 @@ err_clear:
static void ipp_clean_cmd_node(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);