From: Shi Yang Date: Sun, 20 May 2012 21:43:06 +0000 (+0800) Subject: [Graphics]: console_trylock is wrong used in driver code X-Git-Tag: 2.1b_release~701 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=dc74d5275cbc99ecf57b48e8ad56c7b96b4f5523;p=kernel%2Fkernel-mfld-blackbay.git [Graphics]: console_trylock is wrong used in driver code BZ: 37316 console_trylock is not always return true. and if it return false but then do console_unlock, this may cause error in kernel. So change all code to use console_lock. Change-Id: I0faf10a6795d442560559d6655be1d919655b89c Signed-off-by: Shi Yang Reviewed-on: http://android.intel.com:8080/49482 Reviewed-by: Tu, Yun Reviewed-by: Liu, Chuansheng Reviewed-by: Xu, Randy Reviewed-by: Zhang, Yanmin Reviewed-by: He, Bo Tested-by: Tong, BoX Reviewed-by: buildbot Tested-by: buildbot --- diff --git a/drivers/staging/mrst/drv/psb_fb.c b/drivers/staging/mrst/drv/psb_fb.c index c3a5cbb..815e84c 100644 --- a/drivers/staging/mrst/drv/psb_fb.c +++ b/drivers/staging/mrst/drv/psb_fb.c @@ -584,7 +584,7 @@ int psbfb_kms_off_ioctl(struct drm_device *dev, void *data, if (drm_psb_no_fb) return 0; - console_trylock(); + console_lock(); ret = psbfb_kms_off(dev, 0); console_unlock(); @@ -630,7 +630,7 @@ int psbfb_kms_on_ioctl(struct drm_device *dev, void *data, if (drm_psb_no_fb) return 0; - console_trylock(); + console_lock(); ret = psbfb_kms_on(dev, 0); console_unlock(); drm_helper_disable_unused_functions(dev); @@ -639,14 +639,14 @@ int psbfb_kms_on_ioctl(struct drm_device *dev, void *data, void psbfb_suspend(struct drm_device *dev) { - console_trylock(); + console_lock(); psbfb_kms_off(dev, 1); console_unlock(); } void psbfb_resume(struct drm_device *dev) { - console_trylock(); + console_lock(); psbfb_kms_on(dev, 1); console_unlock(); drm_helper_disable_unused_functions(dev); diff --git a/drivers/staging/mrst/pvr/services4/3rdparty/linux_framebuffer_drm/drmlfb_displayclass.c b/drivers/staging/mrst/pvr/services4/3rdparty/linux_framebuffer_drm/drmlfb_displayclass.c index 27e2e13..f143a53 100644 --- a/drivers/staging/mrst/pvr/services4/3rdparty/linux_framebuffer_drm/drmlfb_displayclass.c +++ b/drivers/staging/mrst/pvr/services4/3rdparty/linux_framebuffer_drm/drmlfb_displayclass.c @@ -399,7 +399,7 @@ static MRST_ERROR UnblankDisplay(MRSTLFB_DEVINFO *psDevInfo) { int res; - console_trylock(); + console_lock(); res = fb_blank(psDevInfo->psLINFBInfo, 0); console_unlock(); if (res != 0)