Commit 9b28e148 authored by Christian Gromm's avatar Christian Gromm Committed by Greg Kroah-Hartman

staging: most: aim-cdev: fix reported error codes

Currently, the aim-cdev is returning different error codes for the same
root cause. This patch is needed to get rid of the module's inconsistency
when reporting errors.
Signed-off-by: default avatarChristian Gromm <christian.gromm@microchip.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 18c6e2d6
...@@ -130,7 +130,7 @@ static int aim_open(struct inode *inode, struct file *filp) ...@@ -130,7 +130,7 @@ static int aim_open(struct inode *inode, struct file *filp)
if (!c->dev) { if (!c->dev) {
pr_info("WARN: Device is destroyed\n"); pr_info("WARN: Device is destroyed\n");
mutex_unlock(&c->io_mutex); mutex_unlock(&c->io_mutex);
return -EBUSY; return -ENODEV;
} }
if (c->access_ref) { if (c->access_ref) {
...@@ -201,7 +201,7 @@ static ssize_t aim_write(struct file *filp, const char __user *buf, ...@@ -201,7 +201,7 @@ static ssize_t aim_write(struct file *filp, const char __user *buf,
} }
if (unlikely(!c->dev)) { if (unlikely(!c->dev)) {
ret = -EPIPE; ret = -ENODEV;
goto unlock; goto unlock;
} }
...@@ -256,7 +256,7 @@ aim_read(struct file *filp, char __user *buf, size_t count, loff_t *offset) ...@@ -256,7 +256,7 @@ aim_read(struct file *filp, char __user *buf, size_t count, loff_t *offset)
/* make sure we don't submit to gone devices */ /* make sure we don't submit to gone devices */
if (unlikely(!c->dev)) { if (unlikely(!c->dev)) {
mutex_unlock(&c->io_mutex); mutex_unlock(&c->io_mutex);
return -EIO; return -ENODEV;
} }
to_copy = min_t(size_t, to_copy = min_t(size_t,
...@@ -366,7 +366,7 @@ static int aim_rx_completion(struct mbo *mbo) ...@@ -366,7 +366,7 @@ static int aim_rx_completion(struct mbo *mbo)
spin_lock(&c->unlink); spin_lock(&c->unlink);
if (!c->access_ref || !c->dev) { if (!c->access_ref || !c->dev) {
spin_unlock(&c->unlink); spin_unlock(&c->unlink);
return -EFAULT; return -ENODEV;
} }
kfifo_in(&c->fifo, &mbo, 1); kfifo_in(&c->fifo, &mbo, 1);
spin_unlock(&c->unlink); spin_unlock(&c->unlink);
...@@ -499,6 +499,8 @@ static struct most_aim cdev_aim = { ...@@ -499,6 +499,8 @@ static struct most_aim cdev_aim = {
static int __init mod_init(void) static int __init mod_init(void)
{ {
int err;
pr_info("init()\n"); pr_info("init()\n");
INIT_LIST_HEAD(&channel_list); INIT_LIST_HEAD(&channel_list);
...@@ -506,16 +508,17 @@ static int __init mod_init(void) ...@@ -506,16 +508,17 @@ static int __init mod_init(void)
ida_init(&minor_id); ida_init(&minor_id);
if (alloc_chrdev_region(&aim_devno, 0, 50, "cdev") < 0) if (alloc_chrdev_region(&aim_devno, 0, 50, "cdev") < 0)
return -EIO; return -ENOMEM;
major = MAJOR(aim_devno); major = MAJOR(aim_devno);
aim_class = class_create(THIS_MODULE, "most_cdev_aim"); aim_class = class_create(THIS_MODULE, "most_cdev_aim");
if (IS_ERR(aim_class)) { if (IS_ERR(aim_class)) {
pr_err("no udev support\n"); pr_err("no udev support\n");
err = PTR_ERR(aim_class);
goto free_cdev; goto free_cdev;
} }
err = most_register_aim(&cdev_aim);
if (most_register_aim(&cdev_aim)) if (err)
goto dest_class; goto dest_class;
return 0; return 0;
...@@ -523,7 +526,7 @@ static int __init mod_init(void) ...@@ -523,7 +526,7 @@ static int __init mod_init(void)
class_destroy(aim_class); class_destroy(aim_class);
free_cdev: free_cdev:
unregister_chrdev_region(aim_devno, 1); unregister_chrdev_region(aim_devno, 1);
return -EIO; return err;
} }
static void __exit mod_exit(void) static void __exit mod_exit(void)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment