Эх сурвалжийг харах

Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6

* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
  drm: fix unsigned vs signed comparison issue in modeset ctl ioctl.
  drm/nv50-nvc0: make sure vma is definitely unmapped when destroying bo
Linus Torvalds 14 жил өмнө
parent
commit
dbc39ec4b6

+ 2 - 1
drivers/gpu/drm/drm_irq.c

@@ -1012,7 +1012,8 @@ int drm_modeset_ctl(struct drm_device *dev, void *data,
 		    struct drm_file *file_priv)
 		    struct drm_file *file_priv)
 {
 {
 	struct drm_modeset_ctl *modeset = data;
 	struct drm_modeset_ctl *modeset = data;
-	int crtc, ret = 0;
+	int ret = 0;
+	unsigned int crtc;
 
 
 	/* If drm_vblank_init() hasn't been called yet, just no-op */
 	/* If drm_vblank_init() hasn't been called yet, just no-op */
 	if (!dev->num_crtcs)
 	if (!dev->num_crtcs)

+ 4 - 1
drivers/gpu/drm/nouveau/nouveau_bo.c

@@ -49,7 +49,10 @@ nouveau_bo_del_ttm(struct ttm_buffer_object *bo)
 		DRM_ERROR("bo %p still attached to GEM object\n", bo);
 		DRM_ERROR("bo %p still attached to GEM object\n", bo);
 
 
 	nv10_mem_put_tile_region(dev, nvbo->tile, NULL);
 	nv10_mem_put_tile_region(dev, nvbo->tile, NULL);
-	nouveau_vm_put(&nvbo->vma);
+	if (nvbo->vma.node) {
+		nouveau_vm_unmap(&nvbo->vma);
+		nouveau_vm_put(&nvbo->vma);
+	}
 	kfree(nvbo);
 	kfree(nvbo);
 }
 }
 
 

+ 1 - 1
include/drm/drmP.h

@@ -1101,7 +1101,7 @@ struct drm_device {
 	struct platform_device *platformdev; /**< Platform device struture */
 	struct platform_device *platformdev; /**< Platform device struture */
 
 
 	struct drm_sg_mem *sg;	/**< Scatter gather memory */
 	struct drm_sg_mem *sg;	/**< Scatter gather memory */
-	int num_crtcs;                  /**< Number of CRTCs on this device */
+	unsigned int num_crtcs;                  /**< Number of CRTCs on this device */
 	void *dev_private;		/**< device private data */
 	void *dev_private;		/**< device private data */
 	void *mm_private;
 	void *mm_private;
 	struct address_space *dev_mapping;
 	struct address_space *dev_mapping;