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

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

 



On Fri, May 07, 2010 at 08:52:00AM -0300, Mauro Carvalho Chehab wrote:
> 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 ;)

D'oh.

Signed-off-by: Jarod Wilson <jarod@xxxxxxxxxx>


> > ---
> >  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

-- 
Jarod Wilson
jarod@xxxxxxxxxx

--
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