X-Git-Url: http://git.samba.org/samba.git/?p=sfrench%2Fcifs-2.6.git;a=blobdiff_plain;f=fs%2Fcramfs%2Finode.c;h=9352487bd0fc660f99f67407e323724cf2ff4b76;hp=0fb6e28e6c13f11ab06024ce04790f33180175a9;hb=9b190ecca11c6ed6e20f35caef5746416d8ee0f0;hpb=56ce68bceeefa38e5b3509bf3d39259138e2d76a diff --git a/fs/cramfs/inode.c b/fs/cramfs/inode.c index 0fb6e28e6c13..9352487bd0fc 100644 --- a/fs/cramfs/inode.c +++ b/fs/cramfs/inode.c @@ -419,9 +419,12 @@ static int cramfs_physmem_mmap(struct file *file, struct vm_area_struct *vma) int i; vma->vm_flags |= VM_MIXEDMAP; for (i = 0; i < pages && !ret; i++) { + vm_fault_t vmf; unsigned long off = i * PAGE_SIZE; pfn_t pfn = phys_to_pfn_t(address + off, PFN_DEV); - ret = vm_insert_mixed(vma, vma->vm_start + off, pfn); + vmf = vmf_insert_mixed(vma, vma->vm_start + off, pfn); + if (vmf & VM_FAULT_ERROR) + ret = vm_fault_to_errno(vmf, 0); } }