diff options
author | Greg Kroah-Hartman <gregkh@suse.de> | 2010-10-28 09:44:56 -0700 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-10-28 09:44:56 -0700 |
commit | e4c5bf8e3dca827a1b3a6fac494eae8c74b7e1e7 (patch) | |
tree | ea51b391f7d74ca695dcb9f5e46eb02688a92ed9 /drivers/staging/lirc/lirc_sasem.c | |
parent | 81280572ca6f54009edfa4deee563e8678784218 (diff) | |
parent | a4ac0d847af9dd34d5953a5e264400326144b6b2 (diff) | |
download | op-kernel-dev-e4c5bf8e3dca827a1b3a6fac494eae8c74b7e1e7.zip op-kernel-dev-e4c5bf8e3dca827a1b3a6fac494eae8c74b7e1e7.tar.gz |
Merge 'staging-next' to Linus's tree
This merges the staging-next tree to Linus's tree and resolves
some conflicts that were present due to changes in other trees that were
affected by files here.
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/lirc/lirc_sasem.c')
-rw-r--r-- | drivers/staging/lirc/lirc_sasem.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/staging/lirc/lirc_sasem.c b/drivers/staging/lirc/lirc_sasem.c index 8f72a84..998485e 100644 --- a/drivers/staging/lirc/lirc_sasem.c +++ b/drivers/staging/lirc/lirc_sasem.c @@ -387,8 +387,10 @@ static ssize_t vfd_write(struct file *file, const char *buf, } data_buf = memdup_user(buf, n_bytes); - if (PTR_ERR(data_buf)) - return PTR_ERR(data_buf); + if (IS_ERR(data_buf)) { + retval = PTR_ERR(data_buf); + goto exit; + } memcpy(context->tx.data_buf, data_buf, n_bytes); @@ -513,7 +515,7 @@ exit: mutex_unlock(&context->ctx_lock); mutex_unlock(&disconnect_lock); - return 0; + return retval; } /** @@ -804,7 +806,8 @@ static int sasem_probe(struct usb_interface *interface, if (lirc_minor < 0) { err("%s: lirc_register_driver failed", __func__); alloc_status = 7; - mutex_unlock(&context->ctx_lock); + retval = lirc_minor; + goto unlock; } else printk(KERN_INFO "%s: Registered Sasem driver (minor:%d)\n", __func__, lirc_minor); @@ -829,7 +832,7 @@ alloc_status_switch: context = NULL; case 1: retval = -ENOMEM; - goto exit; + goto unlock; } /* Needed while unregistering! */ @@ -860,7 +863,7 @@ alloc_status_switch: printk(KERN_INFO "%s: Sasem device on usb<%d:%d> initialized\n", __func__, dev->bus->busnum, dev->devnum); - +unlock: mutex_unlock(&context->ctx_lock); exit: return retval; |