mtd: mtdchar: return expected errors on mmap() call
authorVladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Mon, 28 Oct 2013 16:08:15 +0000 (18:08 +0200)
committerBrian Norris <computersforpeace@gmail.com>
Mon, 11 Nov 2013 19:18:15 +0000 (11:18 -0800)
According both to POSIX.1-2008 and Linux Programmer's Manual mmap()
syscall shouldn't return undocumented ENOSYS, this change replaces
the errno with more appropriate ENODEV and EACCESS.

Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Cc: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/mtdchar.c

index 9aa0c5e49c1d3aec1641a08fb27b979e5e97f79f..2147e733533b611a44c88ca3d53efee5ae8f5e01 100644 (file)
@@ -1100,7 +1100,7 @@ static unsigned long mtdchar_get_unmapped_area(struct file *file,
                return (unsigned long) -EINVAL;
 
        ret = mtd_get_unmapped_area(mtd, len, offset, flags);
-       return ret == -EOPNOTSUPP ? -ENOSYS : ret;
+       return ret == -EOPNOTSUPP ? -ENODEV : ret;
 }
 #endif
 
@@ -1125,9 +1125,9 @@ static int mtdchar_mmap(struct file *file, struct vm_area_struct *vma)
 #endif
                return vm_iomap_memory(vma, map->phys, map->size);
        }
-       return -ENOSYS;
+       return -ENODEV;
 #else
-       return vma->vm_flags & VM_SHARED ? 0 : -ENOSYS;
+       return vma->vm_flags & VM_SHARED ? 0 : -EACCES;
 #endif
 }