summaryrefslogtreecommitdiffstats
path: root/drivers/misc/mei/main.c
diff options
context:
space:
mode:
authorTomas Winkler2015-02-10 09:39:43 +0100
committerGreg Kroah-Hartman2015-03-02 04:37:00 +0100
commitbca67d681c4864b74fa5fae9ee47e562d1e272b1 (patch)
tree1538db82496b44cc2f7343714ed4a949311f1815 /drivers/misc/mei/main.c
parentmei: use only one buffer in callback (diff)
downloadkernel-qcow2-linux-bca67d681c4864b74fa5fae9ee47e562d1e272b1.tar.gz
kernel-qcow2-linux-bca67d681c4864b74fa5fae9ee47e562d1e272b1.tar.xz
kernel-qcow2-linux-bca67d681c4864b74fa5fae9ee47e562d1e272b1.zip
mei: always initialize the callback with the intended operation type
We set the operation type at initialization time as each cb is used only for a single type of operation As a byproduct we add a convenient wrapper for allocating cb with the data buffer. Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc/mei/main.c')
-rw-r--r--drivers/misc/mei/main.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/misc/mei/main.c b/drivers/misc/mei/main.c
index 1d44d110ed94..369de0a070f1 100644
--- a/drivers/misc/mei/main.c
+++ b/drivers/misc/mei/main.c
@@ -209,7 +209,7 @@ static ssize_t mei_read(struct file *file, char __user *ubuf,
*offset = 0;
}
- err = mei_cl_read_start(cl, length);
+ err = mei_cl_read_start(cl, length, file);
if (err && err != -EBUSY) {
dev_dbg(dev->dev,
"mei start read failure with status = %d\n", err);
@@ -383,15 +383,11 @@ static ssize_t mei_write(struct file *file, const char __user *ubuf,
} else if (cl->reading_state == MEI_IDLE)
*offset = 0;
-
- write_cb = mei_io_cb_init(cl, file);
+ write_cb = mei_cl_alloc_cb(cl, length, MEI_FOP_WRITE, file);
if (!write_cb) {
rets = -ENOMEM;
goto out;
}
- rets = mei_io_cb_alloc_buf(write_cb, length);
- if (rets)
- goto out;
rets = copy_from_user(write_cb->buf.data, ubuf, length);
if (rets) {