As per USB PID standard:
INFINITE - Referrers to the maximum value of a range. i.e. if in an 8
bit unsigned field the value of 255 would indicate INFINITE.
Detecting 0xffff (U16_MAX) is still important as we MIGHT get this value
as infinite from some native software as 0 was never actually defined
in Linux' FF api as the infinite value. I'm working on it though.
Signed-off-by: Tomasz Pakuła <tomasz.pakula.oficjalny@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
if (duration == FF_INFINITE)
duration = PID_INFINITE;
+ /* PID defines INFINITE as the max possible value for duration field */
if (duration == PID_INFINITE) {
- usage->value[0] = PID_INFINITE;
+ usage->value[0] = (1U << usage->field->report_size) - 1;
return;
}