diff -ru linux-2.6.5.orig/drivers/usb/input/hid-tmff.c linux-2.6.5/drivers/usb/input/hid-tmff.c --- linux-2.6.5.orig/drivers/usb/input/hid-tmff.c 2003-10-25 13:43:59.000000000 -0500 +++ linux-2.6.5/drivers/usb/input/hid-tmff.c 2003-12-18 01:00:41.000000000 -0600 @@ -110,7 +110,7 @@ { struct tmff_device *private; struct list_head *pos; - struct hid_input *hidinput = list_entry(&hid->inputs, struct hid_input, list); + struct hid_input *hidinput = list_entry(hid->inputs.next, struct hid_input, list); private = kmalloc(sizeof(struct tmff_device), GFP_KERNEL); if (!private)