aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/IR/imon.c
diff options
context:
space:
mode:
authorJarod Wilson <jarod@redhat.com>2010-05-04 15:17:05 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2010-05-19 11:59:17 -0400
commit083e472176999de97848e5659cc958516ef81ecb (patch)
treeb8d6fea2a5b183128e15ddfb21662a270d4904b5 /drivers/media/IR/imon.c
parent9986da291b533d4bda03f812ca01353852564900 (diff)
V4L/DVB: IR/imon: remove dead IMON_KEY_RELEASE_OFFSET
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. Signed-off-by: Jarod Wilson <jarod@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/media/IR/imon.c')
-rw-r--r--drivers/media/IR/imon.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/drivers/media/IR/imon.c b/drivers/media/IR/imon.c
index ca2b49084d7..5e204567000 100644
--- a/drivers/media/IR/imon.c
+++ b/drivers/media/IR/imon.c
@@ -55,7 +55,6 @@
55#define BIT_DURATION 250 /* each bit received is 250us */ 55#define BIT_DURATION 250 /* each bit received is 250us */
56 56
57#define IMON_CLOCK_ENABLE_PACKETS 2 57#define IMON_CLOCK_ENABLE_PACKETS 2
58#define IMON_KEY_RELEASE_OFFSET 1000
59 58
60/*** P R O T O T Y P E S ***/ 59/*** P R O T O T Y P E S ***/
61 60
@@ -1199,13 +1198,14 @@ static u32 imon_panel_key_lookup(u64 hw_code)
1199{ 1198{
1200 int i; 1199 int i;
1201 u64 code = be64_to_cpu(hw_code); 1200 u64 code = be64_to_cpu(hw_code);
1202 u32 keycode; 1201 u32 keycode = KEY_RESERVED;
1203 1202
1204 for (i = 0; i < ARRAY_SIZE(imon_panel_key_table); i++) 1203 for (i = 0; i < ARRAY_SIZE(imon_panel_key_table); i++) {
1205 if (imon_panel_key_table[i].hw_code == (code | 0xffee)) 1204 if (imon_panel_key_table[i].hw_code == (code | 0xffee)) {
1205 keycode = imon_panel_key_table[i].keycode;
1206 break; 1206 break;
1207 1207 }
1208 keycode = imon_panel_key_table[i % IMON_KEY_RELEASE_OFFSET].keycode; 1208 }
1209 1209
1210 return keycode; 1210 return keycode;
1211} 1211}