Loading drivers/video/msm/mdss/mdss_mdp_wb.c +7 −0 Original line number Diff line number Diff line Loading @@ -566,6 +566,7 @@ static int mdss_mdp_wb_dequeue(struct msm_fb_data_type *mfd, { struct mdss_mdp_wb *wb = mfd_to_wb(mfd); struct mdss_mdp_wb_data *node = NULL; struct mdss_mdp_ctl *ctl = mfd_to_ctl(mfd); int ret; if (!wb) { Loading @@ -573,6 +574,11 @@ static int mdss_mdp_wb_dequeue(struct msm_fb_data_type *mfd, return -ENODEV; } if (!ctl) { pr_err("unable to dequeue, ctl is not initialized\n"); return -ENODEV; } ret = wait_event_interruptible(wb->wait_q, is_buffer_ready(wb)); if (ret) { pr_err("failed to get dequeued buffer\n"); Loading @@ -582,6 +588,7 @@ static int mdss_mdp_wb_dequeue(struct msm_fb_data_type *mfd, mutex_lock(&wb->lock); if (wb->state == WB_STOPING) { pr_debug("wfd stopped\n"); mdss_mdp_display_wait4comp(ctl); wb->state = WB_STOP; ret = -ENOBUFS; } else if (!list_empty(&wb->busy_queue)) { Loading Loading
drivers/video/msm/mdss/mdss_mdp_wb.c +7 −0 Original line number Diff line number Diff line Loading @@ -566,6 +566,7 @@ static int mdss_mdp_wb_dequeue(struct msm_fb_data_type *mfd, { struct mdss_mdp_wb *wb = mfd_to_wb(mfd); struct mdss_mdp_wb_data *node = NULL; struct mdss_mdp_ctl *ctl = mfd_to_ctl(mfd); int ret; if (!wb) { Loading @@ -573,6 +574,11 @@ static int mdss_mdp_wb_dequeue(struct msm_fb_data_type *mfd, return -ENODEV; } if (!ctl) { pr_err("unable to dequeue, ctl is not initialized\n"); return -ENODEV; } ret = wait_event_interruptible(wb->wait_q, is_buffer_ready(wb)); if (ret) { pr_err("failed to get dequeued buffer\n"); Loading @@ -582,6 +588,7 @@ static int mdss_mdp_wb_dequeue(struct msm_fb_data_type *mfd, mutex_lock(&wb->lock); if (wb->state == WB_STOPING) { pr_debug("wfd stopped\n"); mdss_mdp_display_wait4comp(ctl); wb->state = WB_STOP; ret = -ENOBUFS; } else if (!list_empty(&wb->busy_queue)) { Loading