diff -Naur xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/ati_pcigart.h xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/ati_pcigart.h --- xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/ati_pcigart.h 2004-07-09 11:36:44.783982520 +0200 +++ xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/ati_pcigart.h 2004-07-09 11:34:20.054984672 +0200 @@ -68,7 +68,7 @@ page = virt_to_page( address ); for ( i = 0 ; i < ATI_PCIGART_TABLE_PAGES ; i++, page++ ) { - atomic_inc( &page->count ); + get_page(page); //atomic_inc( &page->count ); SetPageReserved( page ); } @@ -85,7 +85,7 @@ page = virt_to_page( address ); for ( i = 0 ; i < ATI_PCIGART_TABLE_PAGES ; i++, page++ ) { - atomic_dec( &page->count ); + __put_page(page); //atomic_dec( &page->count ); ClearPageReserved( page ); } diff -Naur xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h --- xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h 2004-07-09 11:36:40.668608152 +0200 +++ xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel/drm_vm.h 2004-07-09 11:34:20.063983304 +0200 @@ -101,9 +101,9 @@ page = virt_to_page(__va(agpmem->memory->memory[offset])); get_page(page); - DRM_DEBUG("baddr = 0x%lx page = 0x%p, offset = 0x%lx, count=%d\n", - baddr, __va(agpmem->memory->memory[offset]), offset, - atomic_read(&page->count)); +// DRM_DEBUG("baddr = 0x%lx page = 0x%p, offset = 0x%lx, count=%d\n", +// baddr, __va(agpmem->memory->memory[offset]), offset, +// atomic_read(&page->count)); return page; }