From: William Lee Irwin III sound/core/pcm_native.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff -puN sound/core/pcm_native.c~pagefault-accounting-fix-fix sound/core/pcm_native.c --- 25/sound/core/pcm_native.c~pagefault-accounting-fix-fix 2003-11-19 10:25:24.000000000 -0800 +++ 25-akpm/sound/core/pcm_native.c 2003-11-19 10:25:24.000000000 -0800 @@ -2819,7 +2819,7 @@ int snd_pcm_mmap_status(snd_pcm_substrea return 0; } -static struct page * snd_pcm_mmap_control_nopage(struct vm_area_struct *area, unsigned long address, int no_share) +static struct page * snd_pcm_mmap_control_nopage(struct vm_area_struct *area, unsigned long address, int *type) { snd_pcm_substream_t *substream = (snd_pcm_substream_t *)area->vm_private_data; snd_pcm_runtime_t *runtime; @@ -2831,6 +2831,8 @@ static struct page * snd_pcm_mmap_contro page = virt_to_page(runtime->control); if (!PageReserved(page)) get_page(page); + if (type) + *type = VM_FAULT_MINOR; return page; } @@ -2869,7 +2871,7 @@ static void snd_pcm_mmap_data_close(stru atomic_dec(&substream->runtime->mmap_count); } -static struct page * snd_pcm_mmap_data_nopage(struct vm_area_struct *area, unsigned long address, int no_share) +static struct page * snd_pcm_mmap_data_nopage(struct vm_area_struct *area, unsigned long address, int *type) { snd_pcm_substream_t *substream = (snd_pcm_substream_t *)area->vm_private_data; snd_pcm_runtime_t *runtime; @@ -2897,6 +2899,8 @@ static struct page * snd_pcm_mmap_data_n } if (!PageReserved(page)) get_page(page); + if (type) + *type = VM_FAULT_MINOR; return page; } _