--- a/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c 2009-01-22 17:08:25.000000000 +0530 +++ b/services4/3rdparty/dc_omap3430_linux/omaplfb_displayclass.c 2009-04-25 16:43:22.000000000 +0530 @@ -1014,8 +1014,16 @@ psPVRFBInfo->sSysAddr.uiAddr = psLINFBInfo->fix.smem_start; psPVRFBInfo->sCPUVAddr = psLINFBInfo->screen_base; - psPVRFBInfo->ui32Width = psLINFBInfo->var.xres; - psPVRFBInfo->ui32Height = psLINFBInfo->var.yres; + if ((psLINFBInfo->var.rotate == FB_ROTATE_CW) + || (psLINFBInfo->var.rotate == FB_ROTATE_CCW) ) { + + psPVRFBInfo->ui32Width = psLINFBInfo->var.yres; + psPVRFBInfo->ui32Height = psLINFBInfo->var.xres; + + } else { + psPVRFBInfo->ui32Width = psLINFBInfo->var.xres; + psPVRFBInfo->ui32Height = psLINFBInfo->var.yres; + } psPVRFBInfo->ui32ByteStride = psLINFBInfo->fix.line_length; psPVRFBInfo->ui32FBSize = FBSize; psPVRFBInfo->ui32BufferSize = psPVRFBInfo->ui32Height * psPVRFBInfo->ui32ByteStride;