mei: fix fasync return value on error
authorTomas Winkler <tomas.winkler@intel.com>
Thu, 7 Jan 2016 12:46:38 +0000 (14:46 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Jan 2016 01:03:43 +0000 (17:03 -0800)
fasync should return a negative value on error
and not poll mask POLLERR.

Cc: <stable@vger.kernel.org> # 4.3+
Cc: Al Viro <viro@ZenIV.linux.org.uk>
Reported-by: Al Viro <viro@ZenIV.linux.org.uk>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/misc/mei/main.c

index b2f2486b3d757cd1bba127d8328177716d539591..677d0362f334e842abb2c8c2439260978249b871 100644 (file)
@@ -657,7 +657,9 @@ out:
  * @file: pointer to file structure
  * @band: band bitmap
  *
- * Return: poll mask
+ * Return: negative on error,
+ *         0 if it did no changes,
+ *         and positive a process was added or deleted
  */
 static int mei_fasync(int fd, struct file *file, int band)
 {
@@ -665,7 +667,7 @@ static int mei_fasync(int fd, struct file *file, int band)
        struct mei_cl *cl = file->private_data;
 
        if (!mei_cl_is_connected(cl))
-               return POLLERR;
+               return -ENODEV;
 
        return fasync_helper(fd, file, band, &cl->ev_async);
 }