Jiri Kosina wrote: > On Fri, 30 Oct 2009, Roel Kluin wrote: > >> Hi! >> >> vi drivers/hid/usbhid/hid-pidff.c +1183 >> and note at the bottom of function pidff_reset(), that >> local variable sim_effects does not change in the loop, >> is there an assignment in the bottom missing? Indeed there is. Or sim_effects could be made a pointer. I'll try to send a fix tomorrow, if nobody beats me to it. I'm somewhat suspicious if the entire loop is really necessary, and if I originally had just some usb hub problems or similar causing the strange failures. I can test this probably in the weekend. >> if (pidff->pool[PID_SIMULTANEOUS_MAX].value) { >> int sim_effects = pidff->pool[PID_SIMULTANEOUS_MAX].value[0]; >> while (sim_effects < 2) { >> if (i++ > 20) { >> printk(KERN_WARNING "hid-pidff: device reports " >> "%d simultaneous effects\n", >> sim_effects); >> break; >> } >> debug("pid_pool requested again"); >> usbhid_submit_report(hid, pidff->reports[PID_POOL], >> USB_DIR_IN); >> usbhid_wait_io(hid); >> } >> } >> > > That code looks a little bit wonky indeed. It has been like that > apparently for ages. > > Adding Anssi to CC. -- Anssi Hannula -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html