From: Arjan van de Ven The input layer has an assignment to a live ->fops, just after creating the fops as a duplicate of another one. Just move this assignment a few lines up to avoid assignment to a live fops . Signed-off-by: Arjan van de Ven Cc: Dmitry Torokhov Signed-off-by: Andrew Morton --- drivers/input/input.c | 2 +- 1 files changed, 1 insertion(+), 1 deletion(-) diff -puN drivers/input/input.c~fix-input-layer-f_ops-abuse drivers/input/input.c --- devel/drivers/input/input.c~fix-input-layer-f_ops-abuse 2006-01-07 00:23:19.000000000 -0800 +++ devel-akpm/drivers/input/input.c 2006-01-07 00:23:19.000000000 -0800 @@ -477,8 +477,8 @@ static int __init input_proc_init(void) entry->owner = THIS_MODULE; input_fileops = *entry->proc_fops; + input_fileops.poll = input_devices_poll; entry->proc_fops = &input_fileops; - entry->proc_fops->poll = input_devices_poll; entry = create_proc_read_entry("handlers", 0, proc_bus_input_dir, input_handlers_read, NULL); if (!entry) _