the following patch against mga_vid.c fixed the problem on my system: Linux debian 2.6.11.6-686 #1 Sun May 22 21:40:05 CEST 2005 i686 GNU/Linux. I have s/remap_page_range/remap_pfn_range/g and then added PAGE_SHIFT to the 3rd argument of the function.
--------------------------------------------------------------------------------------------------------------------------------- --- mga_vid.c 2005-07-10 22:01:26.323776552 +0200 +++ mga_vid_rev01.c 2005-07-10 21:59:01.726758640 +0200 @@ -1470,10 +1470,10 @@ } #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,3) - if(remap_page_range(vma, vma->vm_start, card->mem_base + card->src_base, + if(remap_pfn_range(vma, vma->vm_start, card->mem_base + card->src_base >> PAGE_SHIFT, vma->vm_end - vma->vm_start, vma->vm_page_prot)) #else - if(remap_page_range(vma->vm_start, card->mem_base + card->src_base, + if(remap_pfn_range(vma->vm_start, card->mem_base + card->src_base >> PAGE_SHIFT, vma->vm_end - vma->vm_start, vma->vm_page_prot)) #endif { ----------------------------------------------------------------------------------------------------------------------------------