diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2012-11-27 13:35:09 -0300 |
---|---|---|
committer | Ben Hutchings <ben@decadent.org.uk> | 2013-03-06 03:24:24 +0000 |
commit | 04ea2389e48049a79da78e517ebb411d2fad7bf2 (patch) | |
tree | 71023c8f346dedbbf6c548668f8a0774f1ff6b8f | |
parent | 86e9259d57d7eb2fae2acf5539e782403b689efb (diff) | |
download | lwn-04ea2389e48049a79da78e517ebb411d2fad7bf2.tar.gz lwn-04ea2389e48049a79da78e517ebb411d2fad7bf2.zip |
rc: unlock on error in show_protocols()
commit 30ebc5e44d057a1619ad63fe32c8c1670c37c4b8 upstream.
We recently introduced a new return -ENODEV in this function but we need
to unlock before returning.
[mchehab@redhat.com: found two patches with the same fix. Merged SOB's/acks into one patch]
Acked-by: Herton R. Krzesinski <herton.krzesinski@canonical.com>
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Douglas Bagnall <douglas@paradise.net.nz>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
-rw-r--r-- | drivers/media/rc/rc-main.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c index 485276fb8cbe..a47ba337d9f8 100644 --- a/drivers/media/rc/rc-main.c +++ b/drivers/media/rc/rc-main.c @@ -777,8 +777,10 @@ static ssize_t show_protocols(struct device *device, } else if (dev->raw) { enabled = dev->raw->enabled_protocols; allowed = ir_raw_get_allowed_protocols(); - } else + } else { + mutex_unlock(&dev->lock); return -ENODEV; + } IR_dprintk(1, "allowed - 0x%llx, enabled - 0x%llx\n", (long long)allowed, |