Browse Source

drm/vmwgfx: Fix surface framebuffer check for guest-backed surfaces

With guest-backed surfaces, surface->sizes == NULL, causing a kernel oops.
Use the base_size member instead.

Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
Thomas Hellstrom 11 years ago
parent
commit
b360a3cecd
1 changed files with 3 additions and 3 deletions
  1. 3 3
      drivers/gpu/drm/vmwgfx/vmwgfx_kms.c

+ 3 - 3
drivers/gpu/drm/vmwgfx/vmwgfx_kms.c

@@ -672,9 +672,9 @@ static int vmw_kms_new_framebuffer_surface(struct vmw_private *dev_priv,
 
 
 	if (unlikely(surface->mip_levels[0] != 1 ||
 	if (unlikely(surface->mip_levels[0] != 1 ||
 		     surface->num_sizes != 1 ||
 		     surface->num_sizes != 1 ||
-		     surface->sizes[0].width < mode_cmd->width ||
-		     surface->sizes[0].height < mode_cmd->height ||
-		     surface->sizes[0].depth != 1)) {
+		     surface->base_size.width < mode_cmd->width ||
+		     surface->base_size.height < mode_cmd->height ||
+		     surface->base_size.depth != 1)) {
 		DRM_ERROR("Incompatible surface dimensions "
 		DRM_ERROR("Incompatible surface dimensions "
 			  "for requested mode.\n");
 			  "for requested mode.\n");
 		return -EINVAL;
 		return -EINVAL;