From dc74d5275cbc99ecf57b48e8ad56c7b96b4f5523 Mon Sep 17 00:00:00 2001 From: Shi Yang Date: Mon, 21 May 2012 05:43:06 +0800 Subject: [PATCH] [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 --- drivers/staging/mrst/drv/psb_fb.c | 8 ++++---- .../3rdparty/linux_framebuffer_drm/drmlfb_displayclass.c | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) 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) -- 2.7.4