[Graphics]: console_trylock is wrong used in driver code
authorShi Yang <yang.a.shi@intel.com>
Sun, 20 May 2012 21:43:06 +0000 (05:43 +0800)
committerbuildbot <buildbot@intel.com>
Mon, 28 May 2012 15:46:51 +0000 (08:46 -0700)
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 <yang.a.shi@intel.com>
Reviewed-on: http://android.intel.com:8080/49482
Reviewed-by: Tu, Yun <yun.tu@intel.com>
Reviewed-by: Liu, Chuansheng <chuansheng.liu@intel.com>
Reviewed-by: Xu, Randy <randy.xu@intel.com>
Reviewed-by: Zhang, Yanmin <yanmin.zhang@intel.com>
Reviewed-by: He, Bo <bo.he@intel.com>
Tested-by: Tong, BoX <box.tong@intel.com>
Reviewed-by: buildbot <buildbot@intel.com>
Tested-by: buildbot <buildbot@intel.com>
drivers/staging/mrst/drv/psb_fb.c
drivers/staging/mrst/pvr/services4/3rdparty/linux_framebuffer_drm/drmlfb_displayclass.c

index c3a5cbb..815e84c 100644 (file)
@@ -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);
index 27e2e13..f143a53 100644 (file)
@@ -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)