From: William Lee Irwin III <wli@holomorphy.com>




 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;
 }
 

_