Make DRM permanent maps match broken X behavior. X is mapping regions that
authorJon Smirl <jonsmirl@yahoo.com>
Tue, 21 Sep 2004 05:13:21 +0000 (05:13 +0000)
committerJon Smirl <jonsmirl@yahoo.com>
Tue, 21 Sep 2004 05:13:21 +0000 (05:13 +0000)
    are both smaller and larger than what the hardware supports. If DRM
    tries to fix these requests X will fail.

linux-core/drm_bufs.c
linux/drm_bufs.h

index f48ef6f..5058a1d 100644 (file)
@@ -190,6 +190,7 @@ int DRM(addmap)( struct inode *inode, struct file *filp,
                                        _entry->map->offset, _entry->map->size, _entry->map->type );
                                if ( _entry->map && map->type == _entry->map->type  &&
                                                map->offset == _entry->map->offset ) {
+                                       _entry->map->size = map->size;
                                        DRM(free)( map, sizeof(*map), DRM_MEM_MAPS );
                                        map = _entry->map;
                                        DRM_DEBUG( "Found existing: offset = 0x%08lx, size = 0x%08lx, type = %d\n",
index f48ef6f..5058a1d 100644 (file)
@@ -190,6 +190,7 @@ int DRM(addmap)( struct inode *inode, struct file *filp,
                                        _entry->map->offset, _entry->map->size, _entry->map->type );
                                if ( _entry->map && map->type == _entry->map->type  &&
                                                map->offset == _entry->map->offset ) {
+                                       _entry->map->size = map->size;
                                        DRM(free)( map, sizeof(*map), DRM_MEM_MAPS );
                                        map = _entry->map;
                                        DRM_DEBUG( "Found existing: offset = 0x%08lx, size = 0x%08lx, type = %d\n",