diff options
Diffstat (limited to 'drivers/media/rc/ir-sharp-decoder.c')
| -rw-r--r-- | drivers/media/rc/ir-sharp-decoder.c | 7 | 
1 files changed, 3 insertions, 4 deletions
| diff --git a/drivers/media/rc/ir-sharp-decoder.c b/drivers/media/rc/ir-sharp-decoder.c index b7acdbae8159..317677f06f2c 100644 --- a/drivers/media/rc/ir-sharp-decoder.c +++ b/drivers/media/rc/ir-sharp-decoder.c @@ -48,9 +48,6 @@ static int ir_sharp_decode(struct rc_dev *dev, struct ir_raw_event ev)  	struct sharp_dec *data = &dev->raw->sharp;  	u32 msg, echo, address, command, scancode; -	if (!(dev->enabled_protocols & RC_BIT_SHARP)) -		return 0; -  	if (!is_timing_event(ev)) {  		if (ev.reset)  			data->state = STATE_INACTIVE; @@ -118,7 +115,9 @@ static int ir_sharp_decode(struct rc_dev *dev, struct ir_raw_event ev)  		if (data->count == SHARP_NBITS) {  			/* exp,chk bits should be 1,0 */ -			if ((data->bits & 0x3) != 0x2) +			if ((data->bits & 0x3) != 0x2 && +			/* DENON variant, both chk bits 0 */ +			    (data->bits & 0x3) != 0x0)  				break;  			data->state = STATE_ECHO_SPACE;  		} else { | 
