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>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
5db7514d93
commit
bca67d681c
@@ -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) {
|
||||
|
Reference in New Issue
Block a user