diff --git a/drivers/input/touchscreen/msm_ts.c b/drivers/input/touchscreen/msm_ts.c
index 940aafd..593c479 100644
--- a/drivers/input/touchscreen/msm_ts.c
+++ b/drivers/input/touchscreen/msm_ts.c
@@ -259,8 +259,8 @@ static void msm_ts_process_data(int irq)
 			
 			/* Send data to linux input system, if not eaten by vkeyb */
 			if (!(vkey || bspad)) {
-				input_report_abs(msm_ts_dev, ABS_X, x);
-				input_report_abs(msm_ts_dev, ABS_Y, y);
+				input_report_abs(msm_ts_dev, ABS_X, absx);
+				input_report_abs(msm_ts_dev, ABS_Y, absy);
 				input_report_abs(msm_ts_dev, ABS_PRESSURE, touched ? MSM_TS_ABS_PRESSURE_MAX : MSM_TS_ABS_PRESSURE_MIN);
 				input_report_key(msm_ts_dev, BTN_TOUCH, touched);
 				input_sync(msm_ts_dev);
diff --git a/drivers/video/fbmem.c b/drivers/video/fbmem.c
index 98843c2..cbfda8b 100644
--- a/drivers/video/fbmem.c
+++ b/drivers/video/fbmem.c
@@ -1039,7 +1039,8 @@ fb_ioctl(struct inode *inode, struct file *file, unsigned int cmd,
 		i = fb_set_var(info, &var);
 		info->flags &= ~FBINFO_MISC_USEREVENT;
 		release_console_sem();
-		if (i) return i;
+		//if (i) return i;
+		if (i) return 0;
 		if (copy_to_user(argp, &var, sizeof(var)))
 			return -EFAULT;
 		return 0;
diff --git a/drivers/video/msm/msm_fb.c b/drivers/video/msm/msm_fb.c
index 03795a3..b349178 100644
--- a/drivers/video/msm/msm_fb.c
+++ b/drivers/video/msm/msm_fb.c
@@ -652,7 +652,7 @@ static void setup_fb_info(struct msmfb_info *msmfb)
 	fb_info->var.width = msmfb->panel->fb_data->width;
 	fb_info->var.height = msmfb->panel->fb_data->height;
 	fb_info->var.xres_virtual = msmfb->xres;
-	fb_info->var.yres_virtual = msmfb->yres * 2;
+	fb_info->var.yres_virtual = msmfb->yres;
 	fb_info->var.bits_per_pixel = BITS_PER_PIXEL;
 	fb_info->var.accel_flags = 0;
 

