if (keycode >> (dev->keycodesize * 8)) 
if (dev->keycodesize < sizeof(keycode) && (keycode >> (dev->keycodesize * 8))) 
int setkeycode(unsigned int scancode, unsigned int keycode){	struct list_head * node;	struct input_dev *dev = NULL;	unsigned int i, oldkey;	list_for_each(node,&kbd_handler.h_list) {		struct input_handle *handle = to_handle_h(node);		if (handle->dev->keycodesize) { 			dev = handle->dev; 			break; 		}	}	if (!dev)		return -ENODEV;	if (scancode >= dev->keycodemax)		return -EINVAL;	if (keycode < 0 || keycode > KEY_MAX)		return -EINVAL;	if (keycode >> (dev->keycodesize * 8))		return -EINVAL;	oldkey = SET_INPUT_KEYCODE(dev, scancode, keycode);	clear_bit(oldkey, dev->keybit);	set_bit(keycode, dev->keybit);	for (i = 0; i < dev->keycodemax; i++)		if (INPUT_KEYCODE(dev,i) == oldkey)			set_bit(oldkey, dev->keybit);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/4cee99564db7f65a6f88e4b752da52768cde3802/keyboard.c/buggy/drivers/char/keyboard.c