Merge tag 'ecryptfs-3.18-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git...
[firefly-linux-kernel-4.4.55.git] / drivers / misc / mei / bus.c
index 0e993ef28b94ff23272b0a3d2f57e87f73da6c3b..4d20d60ca38d579d876fdbb24257f23c49c83eea 100644 (file)
@@ -22,7 +22,6 @@
 #include <linux/slab.h>
 #include <linux/mutex.h>
 #include <linux/interrupt.h>
-#include <linux/pci.h>
 #include <linux/mei_cl_bus.h>
 
 #include "mei_dev.h"
@@ -70,7 +69,7 @@ static int mei_cl_device_probe(struct device *dev)
 
        dev_dbg(dev, "Device probe\n");
 
-       strncpy(id.name, dev_name(dev), sizeof(id.name));
+       strlcpy(id.name, dev_name(dev), sizeof(id.name));
 
        return driver->probe(device, &id);
 }
@@ -147,7 +146,7 @@ static struct mei_cl *mei_bus_find_mei_cl_by_uuid(struct mei_device *dev,
        struct mei_cl *cl;
 
        list_for_each_entry(cl, &dev->device_list, device_link) {
-               if (!uuid_le_cmp(uuid, cl->device_uuid))
+               if (!uuid_le_cmp(uuid, cl->cl_uuid))
                        return cl;
        }
 
@@ -172,7 +171,7 @@ struct mei_cl_device *mei_cl_add_device(struct mei_device *dev,
        device->cl = cl;
        device->ops = ops;
 
-       device->dev.parent = &dev->pdev->dev;
+       device->dev.parent = dev->dev;
        device->dev.bus = &mei_cl_bus_type;
        device->dev.type = &mei_cl_device_type;
 
@@ -180,7 +179,7 @@ struct mei_cl_device *mei_cl_add_device(struct mei_device *dev,
 
        status = device_register(&device->dev);
        if (status) {
-               dev_err(&dev->pdev->dev, "Failed to register MEI device\n");
+               dev_err(dev->dev, "Failed to register MEI device\n");
                kfree(device);
                return NULL;
        }
@@ -229,8 +228,8 @@ static int ___mei_cl_send(struct mei_cl *cl, u8 *buf, size_t length,
                        bool blocking)
 {
        struct mei_device *dev;
+       struct mei_me_client *me_cl;
        struct mei_cl_cb *cb;
-       int id;
        int rets;
 
        if (WARN_ON(!cl || !cl->dev))
@@ -242,11 +241,11 @@ static int ___mei_cl_send(struct mei_cl *cl, u8 *buf, size_t length,
                return -ENODEV;
 
        /* Check if we have an ME client device */
-       id = mei_me_cl_by_id(dev, cl->me_client_id);
-       if (id < 0)
-               return id;
+       me_cl = mei_me_cl_by_uuid_id(dev, &cl->cl_uuid, cl->me_client_id);
+       if (!me_cl)
+               return -ENOTTY;
 
-       if (length > dev->me_clients[id].props.max_msg_length)
+       if (length > me_cl->props.max_msg_length)
                return -EFBIG;
 
        cb = mei_io_cb_init(cl, NULL);
@@ -430,7 +429,7 @@ int mei_cl_enable_device(struct mei_cl_device *device)
        err = mei_cl_connect(cl, NULL);
        if (err < 0) {
                mutex_unlock(&dev->device_lock);
-               dev_err(&dev->pdev->dev, "Could not connect to the ME client");
+               dev_err(dev->dev, "Could not connect to the ME client");
 
                return err;
        }
@@ -462,7 +461,7 @@ int mei_cl_disable_device(struct mei_cl_device *device)
 
        if (cl->state != MEI_FILE_CONNECTED) {
                mutex_unlock(&dev->device_lock);
-               dev_err(&dev->pdev->dev, "Already disconnected");
+               dev_err(dev->dev, "Already disconnected");
 
                return 0;
        }
@@ -472,7 +471,7 @@ int mei_cl_disable_device(struct mei_cl_device *device)
        err = mei_cl_disconnect(cl);
        if (err < 0) {
                mutex_unlock(&dev->device_lock);
-               dev_err(&dev->pdev->dev,
+               dev_err(dev->dev,
                        "Could not disconnect from the ME client");
 
                return err;