Re: [PATCH] HID: bug in pidff_reset()?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux