Merge branch v4.4/topic/hibernate into linux-linaro-lsk-v4.4
[firefly-linux-kernel-4.4.55.git] / drivers / misc / mei / main.c
index b2f2486b3d757cd1bba127d8328177716d539591..80f9afcb13823282a9859e08a96c36f55901efa6 100644 (file)
@@ -458,7 +458,11 @@ static int mei_ioctl_client_notify_request(struct file *file, u32 request)
 {
        struct mei_cl *cl = file->private_data;
 
-       return mei_cl_notify_request(cl, file, request);
+       if (request != MEI_HBM_NOTIFICATION_START &&
+           request != MEI_HBM_NOTIFICATION_STOP)
+               return -EINVAL;
+
+       return mei_cl_notify_request(cl, file, (u8)request);
 }
 
 /**
@@ -657,7 +661,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 +671,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);
 }