| From 30ebc5e44d057a1619ad63fe32c8c1670c37c4b8 Mon Sep 17 00:00:00 2001 |
| From: Dan Carpenter <dan.carpenter@oracle.com> |
| Date: Tue, 27 Nov 2012 13:35:09 -0300 |
| Subject: media: rc: unlock on error in show_protocols() |
| |
| From: Dan Carpenter <dan.carpenter@oracle.com> |
| |
| 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: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/media/rc/rc-main.c | 4 +++- |
| 1 file changed, 3 insertions(+), 1 deletion(-) |
| |
| --- a/drivers/media/rc/rc-main.c |
| +++ b/drivers/media/rc/rc-main.c |
| @@ -775,8 +775,10 @@ static ssize_t show_protocols(struct dev |
| } 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, |