[media] dw2102: Extend keymap parameter for not used remote
authorIgor M. Liplianin <liplianin@me.by>
Fri, 25 Feb 2011 21:41:22 +0000 (18:41 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Mon, 21 Mar 2011 23:32:22 +0000 (20:32 -0300)
Signed-off-by: Igor M. Liplianin <liplianin@me.by>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
drivers/media/dvb/dvb-usb/dw2102.c

index 2c307ba0d28bc5dcef6c17644b0cc118d9c7dfa4..21be0cca3c89613f447536816e05dada04351b12 100644 (file)
@@ -87,7 +87,8 @@ MODULE_PARM_DESC(debug, "set debugging level (1=info 2=xfer 4=rc(or-able))."
 /* keymaps */
 static int ir_keymap;
 module_param_named(keymap, ir_keymap, int, 0644);
-MODULE_PARM_DESC(keymap, "set keymap 0=default 1=dvbworld 2=tevii 3=tbs  ...");
+MODULE_PARM_DESC(keymap, "set keymap 0=default 1=dvbworld 2=tevii 3=tbs  ..."
+                       " 256=none");
 
 /* demod probe */
 static int demod_probe = 1;
@@ -1089,7 +1090,8 @@ static int dw2102_rc_query(struct dvb_usb_device *d, u32 *event, int *state)
        if ((ir_keymap > 0) && (ir_keymap <= ARRAY_SIZE(keys_tables))) {
                keymap = keys_tables[ir_keymap - 1].rc_keys ;
                keymap_size = keys_tables[ir_keymap - 1].rc_keys_size;
-       }
+       } else if (ir_keymap > ARRAY_SIZE(keys_tables))
+               return 0; /* none */
 
        *state = REMOTE_NO_KEY_PRESSED;
        if (d->props.i2c_algo->master_xfer(&d->i2c_adap, &msg, 1) == 1) {