]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/char/drm/via_video.c
Pull acpica into release branch
[linux-2.6-omap-h63xx.git] / drivers / char / drm / via_video.c
index 7fab9fbdf424f64aa263a592820a9ee60c75c708..300ac61b09edbacd68b92f7446b97a133349d203 100644 (file)
@@ -50,8 +50,11 @@ void via_release_futex(drm_via_private_t * dev_priv, int context)
        unsigned int i;
        volatile int *lock;
 
+       if (!dev_priv->sarea_priv)
+               return;
+
        for (i = 0; i < VIA_NR_XVMC_LOCKS; ++i) {
-               lock = (int *)XVMCLOCKPTR(dev_priv->sarea_priv, i);
+               lock = (volatile int *)XVMCLOCKPTR(dev_priv->sarea_priv, i);
                if ((_DRM_LOCKING_CONTEXT(*lock) == context)) {
                        if (_DRM_LOCK_IS_HELD(*lock)
                            && (*lock & _DRM_LOCK_CONT)) {
@@ -79,7 +82,7 @@ int via_decoder_futex(DRM_IOCTL_ARGS)
        if (fx.lock > VIA_NR_XVMC_LOCKS)
                return -EFAULT;
 
-       lock = (int *)XVMCLOCKPTR(sAPriv, fx.lock);
+       lock = (volatile int *)XVMCLOCKPTR(sAPriv, fx.lock);
 
        switch (fx.func) {
        case VIA_FUTEX_WAIT: