diff options
Diffstat (limited to 'drivers/media/rc/rc-main.c')
| -rw-r--r-- | drivers/media/rc/rc-main.c | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/media/rc/rc-main.c b/drivers/media/rc/rc-main.c index 601d1ac1c68..759a40a42ea 100644 --- a/drivers/media/rc/rc-main.c +++ b/drivers/media/rc/rc-main.c @@ -789,8 +789,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, @@ -890,7 +892,8 @@ static ssize_t store_protocols(struct device *device,  		if (i == ARRAY_SIZE(proto_names)) {  			IR_dprintk(1, "Unknown protocol: '%s'\n", tmp); -			return -EINVAL; +			ret = -EINVAL; +			goto out;  		}  		count++;  |