Нашел на kerneltrap.org
Код:
Common subdirectories: a/2.6.x and b/2.6.x
diff -puN a/agpgart_be.c b/agpgart_be.c
--- a/agpgart_be.c 2004-05-06 22:51:27.000000000 -0400
+++ b/agpgart_be.c 2004-06-17 12:44:19.000000000 -0400
@@ -1402,7 +1402,7 @@ unsigned long agp_generic_alloc_page(voi
}
#endif
- atomic_inc(&page->count);
+ get_page(page);
set_bit(PG_locked, &page->flags);
atomic_inc(&agp_bridge.current_memory_agp);
@@ -1449,7 +1449,7 @@ void agp_generic_destroy_page(unsigned l
put_page(page);
UnlockPage(page);
#else /* AGPGART_2_4_19 */
- atomic_dec(&page->count);
+ __put_page(page);
clear_bit(PG_locked, &page->flags);
wake_up(&page->wait);
#endif /* AGPGART_2_4_19 */
@@ -4413,7 +4413,7 @@ static unsigned long ali_alloc_page(void
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);
@@ -4509,7 +4509,7 @@ static void ali_destroy_page(unsigned lo
put_page(page);
UnlockPage(page);
#else /* AGPGART_2_4_19 */
- atomic_dec(&page->count);
+ __put_page(page);
clear_bit(PG_locked, &page->flags);
wake_up(&page->wait);
#endif /* AGPGART_2_4_19 */
diff -puN a/firegl_public.c b/firegl_public.c
--- a/firegl_public.c 2004-03-17 17:00:29.000000000 -0500
+++ b/firegl_public.c 2004-06-17 12:44:54.000000000 -0400
@@ -2010,7 +2010,7 @@ static __inline__ vm_nopage_ret_t do_vm_
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",
@@ -2052,7 +2052,7 @@ static __inline__ vm_nopage_ret_t do_vm_
// Don't increment page usage count, cause ctx pages are allocated
// with drm_alloc_pages, which marks all pages as reserved. Reserved
// pages' usage count is not decremented by the kernel during unmap!!!
- atomic_inc(&(pMmPage->count)); /* inc usage count of page */
+ get_page(pMmPage); /* inc usage count of page */
#endif
#if LINUX_VERSION_CODE >= 0x020400
Добавлено:
Хто не понял это надо заганть в файл (например ati-driver-patch), а потом
Код:
cd /lib/modules/fglrx
patch -Np1 -i ati-driver-patch
По поводу Np1 точно не помню, но типа того