From: Patrick Boettcher o fixed usage of the correct number of events in keymapping-array o better place for return Signed-off-by: Patrick Boettcher Signed-off-by: Johannes Stezenbach Signed-off-by: Andrew Morton --- drivers/media/dvb/dvb-usb/dvb-usb-remote.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) diff -puN drivers/media/dvb/dvb-usb/dvb-usb-remote.c~dvb-usb-ir-input-fixes drivers/media/dvb/dvb-usb/dvb-usb-remote.c --- 25/drivers/media/dvb/dvb-usb/dvb-usb-remote.c~dvb-usb-ir-input-fixes Mon Jun 27 15:37:27 2005 +++ 25-akpm/drivers/media/dvb/dvb-usb/dvb-usb-remote.c Mon Jun 27 15:37:27 2005 @@ -39,7 +39,7 @@ static void dvb_usb_read_remote_control( d->last_event = event; case REMOTE_KEY_REPEAT: deb_rc("key repeated\n"); - input_event(&d->rc_input_dev, EV_KEY, event, 1); + input_event(&d->rc_input_dev, EV_KEY, d->last_event, 1); input_event(&d->rc_input_dev, EV_KEY, d->last_event, 0); input_sync(&d->rc_input_dev); break; @@ -160,12 +160,12 @@ int dvb_usb_nec_rc_key_to_event(struct d break; } /* See if we can match the raw key code. */ - for (i = 0; i < sizeof(keymap)/sizeof(struct dvb_usb_rc_key); i++) + for (i = 0; i < d->props.rc_key_map_size; i++) if (keymap[i].custom == keybuf[1] && keymap[i].data == keybuf[3]) { *event = keymap[i].event; *state = REMOTE_KEY_PRESSED; - break; + return 0; } deb_err("key mapping failed - no appropriate key found in keymapping\n"); break; _