Okay I think the following patch is what is needed for the ATI 3.9.0 fglrx drivers to build against 2.6.6-1.406smp with http://rambo.its.tudelft.nl/~ewald/patches/fglrx-3.9.0-fc2.patch applied... --- agpgart_be.c.org 2004-06-03 18:26:49.537245935 -0400 +++ agpgart_be.c 2004-06-03 18:46:30.642151410 -0400 @@ -1402,7 +1402,7 @@ } #endif - atomic_inc(&page->count); + get_page(page); set_bit(PG_locked, &page->flags); atomic_inc(&agp_bridge.current_memory_agp); @@ -4413,7 +4413,7 @@ if (page == NULL) return 0; - atomic_inc(&page->count); + get_page(page); set_bit(PG_locked, &page->flags); atomic_inc(&agp_bridge.current_memory_agp); --- firegl_public.c.last 2004-06-03 18:30:26.520173290 -0400 +++ firegl_public.c 2004-06-03 18:44:15.811975168 -0400 @@ -2019,7 +2019,7 @@ pMmPage = virt_to_page(kaddr); #endif /* LINUX_VERSION_CODE < 0x020400 */ - atomic_inc(&(pMmPage->count)); /* inc usage count of page */ + get_page(pMmPage); /* inc usage count of page */ #if LINUX_VERSION_CODE >= 0x020400 // __KE_DEBUG3("vm-address 0x%08lx => kernel-page-address 0x%p\n", I attempted to mimic the changes being applied in the drm files... http://linux.bkbits.net:8080/linux-2.5/diffs/drivers/char/drm/ati_pcigart.h@xxxx?nav=index.html|src/.|src/drivers|src/drivers/char|src/drivers/char/drm|hist/drivers/char/drm/ati_pcigart.h Jack