UPSTREAM: PM / devfreq: rk3399_dmc: Use the resource-managed function to add devfreq dev
[firefly-linux-kernel-4.4.55.git] / drivers / misc / mei / main.c
index b2f2486b3d757cd1bba127d8328177716d539591..4ef189a7a2fb681d4dd5647edcd777698877bddb 100644 (file)
@@ -207,7 +207,7 @@ static ssize_t mei_read(struct file *file, char __user *ubuf,
 
                mutex_lock(&dev->device_lock);
                if (!mei_cl_is_connected(cl)) {
-                       rets = -EBUSY;
+                       rets = -ENODEV;
                        goto out;
                }
        }
@@ -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);
 }