sysfs: return correct error code on unimplemented mmap()
authorVladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Wed, 30 Oct 2013 12:08:32 +0000 (14:08 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 30 Oct 2013 17:21:39 +0000 (10:21 -0700)
Both POSIX.1-2008 and Linux Programmer's Manual have a dedicated return
error code for a case, when a file doesn't support mmap(), it's ENODEV.

This change replaces overloaded EINVAL with ENODEV in a situation
described above for sysfs binary files.

Signed-off-by: Vladimir Zapolskiy <vladimir_zapolskiy@mentor.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/sysfs/file.c

index 0d7368d436194d8bff9e5bc1ee6dcedd1c144964..382db3c045f37bdd9cd1b11e077e24d208997f45 100644 (file)
@@ -477,7 +477,6 @@ static int sysfs_bin_mmap(struct file *file, struct vm_area_struct *vma)
        if (!sysfs_get_active(of->sd))
                goto out_unlock;
 
-       rc = -EINVAL;
        if (!battr->mmap)
                goto out_put;