mtd: mtdchar: return expected errors on mmap() call

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 <[email protected]>
Cc: David Woodhouse <[email protected]>
Signed-off-by: Brian Norris <[email protected]>
This commit is contained in:
Vladimir Zapolskiy 2013-10-28 18:08:15 +02:00 • committed by Brian Norris
commit b999593237

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