osd: fix ge2d coverity error [1/1]
authorJian Cao <jian.cao@amlogic.com>
Fri, 7 Dec 2018 09:52:12 +0000 (17:52 +0800)
committerJianxin Pan <jianxin.pan@amlogic.com>
Tue, 11 Dec 2018 03:22:52 +0000 (19:22 -0800)
PD#SWPL-2798

Problem:
fix ge2d coverity error

Solution:
add return val timeout for waiting completion

Verify:
verified on P212

Change-Id: Iaacf3f5b30721eb5d72d3c355f0404f4848969b5
Signed-off-by: Jian Cao <jian.cao@amlogic.com>
drivers/amlogic/media/common/ge2d/ge2d_wq.c

index ac4761a..a35947d 100644 (file)
@@ -1858,7 +1858,7 @@ int  destroy_ge2d_work_queue(struct ge2d_context_s *ge2d_work_queue)
 {
        struct ge2d_queue_item_s *pitem, *tmp;
        struct list_head                *head;
-       int empty;
+       int empty, timeout = 0;
 
        if (ge2d_work_queue) {
                /* first detatch it from the process queue,then delete it . */
@@ -1870,9 +1870,11 @@ int  destroy_ge2d_work_queue(struct ge2d_context_s *ge2d_work_queue)
                if ((ge2d_manager.current_wq == ge2d_work_queue) &&
                    (ge2d_manager.ge2d_state == GE2D_STATE_RUNNING)) {
                        ge2d_work_queue->ge2d_request_exit = 1;
-                       wait_for_completion_timeout(
-                               &ge2d_manager.event.process_complete,
-                               msecs_to_jiffies(500));
+                       timeout = wait_for_completion_timeout(
+                                       &ge2d_manager.event.process_complete,
+                                       msecs_to_jiffies(500));
+                       if (!timeout)
+                               ge2d_log_err("wait timeout\n");
                        /* condition so complex ,simplify it . */
                        ge2d_manager.last_wq = NULL;
                } /* else we can delete it safely. */