Valid latency timer values are between 1 ms and 255 ms in 1 ms steps. The store function for the "latency_timer" device attribute currently allows any value, although only the lower 8-bits will be written to the latency timer. Return an error for out-of-range values. Signed-off-by: Ian Abbott <abbotti@xxxxxxxxx> --- drivers/usb/serial/ftdi_sio.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/serial/ftdi_sio.c b/drivers/usb/serial/ftdi_sio.c index a1b90f4184a7..2da99875cecb 100644 --- a/drivers/usb/serial/ftdi_sio.c +++ b/drivers/usb/serial/ftdi_sio.c @@ -1716,6 +1716,9 @@ static ssize_t latency_timer_store(struct device *dev, int v = simple_strtoul(valbuf, NULL, 10); int rv; + if (v < 1 || v > 255) + return -EINVAL; + priv->latency = v; rv = write_latency_timer(port); if (rv < 0) -- 2.11.0 -- 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