[PATCH 26/28] staging: most: rearrange function aim_write
Christian Gromm
christian.gromm at microchip.com
Wed Nov 18 12:43:50 UTC 2015
This patch rearranges the code of function aim_write() of module aim-cdev.
It is needed to remove the error lable and make the code straighter.
Signed-off-by: Christian Gromm <christian.gromm at microchip.com>
---
drivers/staging/most/aim-cdev/cdev.c | 22 ++++++----------------
1 file changed, 6 insertions(+), 16 deletions(-)
diff --git a/drivers/staging/most/aim-cdev/cdev.c b/drivers/staging/most/aim-cdev/cdev.c
index 0ee2f08..e5ceb82 100644
--- a/drivers/staging/most/aim-cdev/cdev.c
+++ b/drivers/staging/most/aim-cdev/cdev.c
@@ -183,7 +183,6 @@ static int aim_close(struct inode *inode, struct file *filp)
static ssize_t aim_write(struct file *filp, const char __user *buf,
size_t count, loff_t *offset)
{
- int ret, err;
size_t actual_len;
size_t max_len;
ssize_t retval;
@@ -202,8 +201,8 @@ static ssize_t aim_write(struct file *filp, const char __user *buf,
}
if (unlikely(!c->dev)) {
- err = -EPIPE;
- goto error;
+ mutex_unlock(&c->io_mutex);
+ return -EPIPE;
}
max_len = c->cfg->buffer_size;
@@ -212,23 +211,14 @@ static ssize_t aim_write(struct file *filp, const char __user *buf,
retval = copy_from_user(mbo->virt_address, buf, mbo->buffer_length);
if (retval) {
- err = -EIO;
- goto error;
+ most_put_mbo(mbo);
+ mutex_unlock(&c->io_mutex);
+ return -EIO;
}
- ret = most_submit_mbo(mbo);
- if (ret) {
- pr_info("submitting MBO to core failed\n");
- err = ret;
- goto error;
- }
+ most_submit_mbo(mbo);
mutex_unlock(&c->io_mutex);
return actual_len - retval;
-error:
- if (mbo)
- most_put_mbo(mbo);
- mutex_unlock(&c->io_mutex);
- return err;
}
/**
--
1.7.9.5
More information about the devel
mailing list