On Thu, 26 Feb 2015, Jim Keir wrote: > The PID driver (usbhid/hid-pidff.c) does not set the effect ID when > uploading an effect. The result is that the initial upload works but > subsequent uploads to modify effect parameters are all directed at the > last-created effect. > > The targeted effect ID must be passed back to the device when effect > parameters are changed. This is done at the start of > "pidff_set_condition_report", "pidff_set_periodic_report" etc. based on > the value of "pidff->block_load[PID_EFFECT_ > BLOCK_INDEX].value[0]". > > This value is only ever set during pidff_request_effect_upload. > The result is stored in "pidff->pid_id[effect->id]" at the end of > pid_upload_effect, for later use. However, if an effect is modified and > re-sent then this identifier is not being copied back from > pidff->pid_id[effect->id] before sending the command to the device. The > fix is to do this at the start of pidff_upload_effect. > > Signed-off-by: Jim Keir <jimkeir@xxxxxxxxxxxxxxxxxxx> Applied to for-4.1/upstream. -- Jiri Kosina SUSE Labs -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html