HID: pidff: Clamp effect playback LOOP_COUNT value
[ Upstream commit 0c6673e3d17b258b8c5c7331d28bf6c49f25ed30 ] Ensures the loop count will never exceed the logical_maximum. Fixes implementation errors happening when applications use the max value of int32/DWORD as the effect iterations. This could be observed when running software both native and in wine. Signed-off-by: Tomasz Pakuła <tomasz.pakula.oficjalny@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
42ec3b5bf7
commit
b15301f289
@@ -690,7 +690,8 @@ static void pidff_playback_pid(struct pidff_device *pidff, int pid_id, int n)
|
||||
} else {
|
||||
pidff->effect_operation_status->value[0] =
|
||||
pidff->operation_id[PID_EFFECT_START];
|
||||
pidff->effect_operation[PID_LOOP_COUNT].value[0] = n;
|
||||
pidff->effect_operation[PID_LOOP_COUNT].value[0] =
|
||||
pidff_clamp(n, pidff->effect_operation[PID_LOOP_COUNT].field);
|
||||
}
|
||||
|
||||
hid_hw_request(pidff->hid, pidff->reports[PID_EFFECT_OPERATION],
|
||||
|
||||
Reference in New Issue
Block a user