diff --git a/drivers/video/msm/mdss/mdp3_ctrl.c b/drivers/video/msm/mdss/mdp3_ctrl.c
index 38b1d24ea2c33a42280917e119b9dcadc290802c..d2e129609f8eca9b5d950b82ec1a9e9d90ce087f 100644
--- a/drivers/video/msm/mdss/mdp3_ctrl.c
+++ b/drivers/video/msm/mdss/mdp3_ctrl.c
@@ -1953,8 +1953,9 @@ static int mdp3_ctrl_lut_config(struct msm_fb_data_type *mfd,
 
 	dma = mdp3_session->dma;
 
-	if (cfg->cmap.start + cfg->cmap.len > MDP_LUT_SIZE) {
-		pr_err("Invalid arguments\n");
+	if (cfg->cmap.start > MDP_LUT_SIZE || cfg->cmap.len > MDP_LUT_SIZE ||
+	    (cfg->cmap.start + cfg->cmap.len > MDP_LUT_SIZE)) {
+		pr_err("mdp3_ctrl_lut_config invalid arguments\n");
 		return  -EINVAL;
 	}