diff --git a/sys/dev/drm/radeon_state.c b/sys/dev/drm/radeon_state.c index 23d55003ef4..d5688626f9f 100644 --- a/sys/dev/drm/radeon_state.c +++ b/sys/dev/drm/radeon_state.c @@ -2937,7 +2937,7 @@ static int radeon_cp_getparam(DRM_IOCTL_ARGS) case RADEON_PARAM_STATUS_HANDLE: value = dev_priv->ring_rptr_offset; break; -#if BITS_PER_LONG == 32 + case RADEON_PARAM_SAREA_HANDLE: /* * This ioctl() doesn't work on 64-bit platforms because hw_lock is a * pointer which can't fit into an int-sized variable. According to @@ -2947,11 +2947,11 @@ static int radeon_cp_getparam(DRM_IOCTL_ARGS) * so backwards-compatibility for the embedded platforms can be * maintained. --davidm 4-Feb-2004. */ - case RADEON_PARAM_SAREA_HANDLE: + if (sizeof(long) * 8 == 64) + return DRM_ERR(EINVAL); /* The lock is the first dword in the sarea. */ value = (long)dev->lock.hw_lock; break; -#endif case RADEON_PARAM_GART_TEX_HANDLE: value = dev_priv->gart_textures_offset; break;