Re: [PATCH v2] IR/imon: remove dead IMON_KEY_RELEASE_OFFSET

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Jarod Wilson wrote:
> On Tue, May 04, 2010 at 06:06:41PM +0200, Dan Carpenter wrote:
>> On Tue, May 04, 2010 at 10:03:18AM -0400, Jarod Wilson wrote:
>>> @@ -1205,7 +1204,7 @@ static u32 imon_panel_key_lookup(u64 hw_code)
>>>  		if (imon_panel_key_table[i].hw_code == (code | 0xffee))
>>>  			break;
>>>  
>>> -	keycode = imon_panel_key_table[i % IMON_KEY_RELEASE_OFFSET].keycode;
>>> +	keycode = imon_panel_key_table[i].keycode;
>>>  
>>>  	return keycode;
>>>  }
>> There is still potentially a problem here because if we don't hit the 
>> break statement, then we're one past the end of the array.
> 
> D'oh. Okay, here's v2, should fix that buglet too.
> 
> This hack was used when the imon driver was using internal key lookup
> routines, but became dead weight when the driver was converted to use
> ir-core's key lookup routines. These bits simply didn't get removed,
> drop 'em now.
> 
> Pointed out by Dan Carpenter.
> 
> v2: fix possible attempt to access beyond end of key table array,
> also pointed out by Dan.

-ENOSOB

Please, add your SOB here ;)
> 
> ---
>  drivers/media/IR/imon.c |   12 ++++++------
>  1 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/media/IR/imon.c b/drivers/media/IR/imon.c
> index 27743eb..efe219a 100644
> --- a/drivers/media/IR/imon.c
> +++ b/drivers/media/IR/imon.c
> @@ -55,7 +55,6 @@
>  #define BIT_DURATION	250	/* each bit received is 250us */
>  
>  #define IMON_CLOCK_ENABLE_PACKETS	2
> -#define IMON_KEY_RELEASE_OFFSET		1000
>  
>  /*** P R O T O T Y P E S ***/
>  
> @@ -1199,13 +1198,14 @@ static u32 imon_panel_key_lookup(u64 hw_code)
>  {
>  	int i;
>  	u64 code = be64_to_cpu(hw_code);
> -	u32 keycode;
> +	u32 keycode = KEY_RESERVED;
>  
> -	for (i = 0; i < ARRAY_SIZE(imon_panel_key_table); i++)
> -		if (imon_panel_key_table[i].hw_code == (code | 0xffee))
> +	for (i = 0; i < ARRAY_SIZE(imon_panel_key_table); i++) {
> +		if (imon_panel_key_table[i].hw_code == (code | 0xffee)) {
> +			keycode = imon_panel_key_table[i].keycode;
>  			break;
> -
> -	keycode = imon_panel_key_table[i % IMON_KEY_RELEASE_OFFSET].keycode;
> +		}
> +	}
>  
>  	return keycode;
>  }
> 


-- 

Cheers,
Mauro
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux