--- linux-2.4.19/drivers/acorn/char/mouse_ps2.c Fri Aug 2 17:39:43 2002 +++ linux-2.4.19-dev/drivers/acorn/char/mouse_ps2.c Sat Aug 24 02:31:57 2002 @@ -273,9 +273,15 @@ iomd_writeb(0, IOMD_MSECTL); iomd_writeb(8, IOMD_MSECTL); - if (misc_register(&psaux_mouse)) - return -ENODEV; queue = (struct aux_queue *) kmalloc(sizeof(*queue), GFP_KERNEL); + if (queue == NULL) + return -ENOMEM; + + if (misc_register(&psaux_mouse)) { + kfree(queue); + return -ENODEV; + } + memset(queue, 0, sizeof(*queue)); queue->head = queue->tail = 0; init_waitqueue_head(&queue->proc_list);