Merge "video: msm: writeback: Stop providing buffers to mdp in stopping state" into msm-3.0
diff --git a/drivers/video/msm/mdp4_overlay_writeback.c b/drivers/video/msm/mdp4_overlay_writeback.c
index 7739837..d8e7998 100644
--- a/drivers/video/msm/mdp4_overlay_writeback.c
+++ b/drivers/video/msm/mdp4_overlay_writeback.c
@@ -258,7 +258,9 @@
struct msmfb_writeback_data_list *node = NULL;
mutex_lock(&mfd->unregister_mutex);
mutex_lock(&mfd->writeback_mutex);
- if (!list_empty(&mfd->writeback_free_queue)) {
+ if (!list_empty(&mfd->writeback_free_queue)
+ && mfd->writeback_state != WB_STOPING
+ && mfd->writeback_state != WB_STOP) {
node = list_first_entry(&mfd->writeback_free_queue,
struct msmfb_writeback_data_list, active_entry);
}
@@ -306,7 +308,9 @@
mutex_lock(&mfd->unregister_mutex);
mutex_lock(&mfd->writeback_mutex);
- if (!list_empty(&mfd->writeback_free_queue)) {
+ if (!list_empty(&mfd->writeback_free_queue)
+ && mfd->writeback_state != WB_STOPING
+ && mfd->writeback_state != WB_STOP) {
node = list_first_entry(&mfd->writeback_free_queue,
struct msmfb_writeback_data_list, active_entry);
}