USB: serial: iuu_phoenix: fix led-activity helpers
authorJohan Hovold <johan@kernel.org>
Thu, 16 Jul 2020 08:50:55 +0000 (10:50 +0200)
committerJohan Hovold <johan@kernel.org>
Tue, 21 Jul 2020 07:25:52 +0000 (09:25 +0200)
commitde37458f8c2bfc465500a1dd0d15dbe96d2a698c
tree68a506ad39d916a0131739f21031bc2839cdf84d
parente0439cd97573f1c7c6bf98e7a6d63de34daeaf8a
USB: serial: iuu_phoenix: fix led-activity helpers

The set-led command is eight bytes long and starts with a command byte
followed by six bytes of RGB data and ends with a byte encoding a
frequency (see iuu_led() and iuu_rgbf_fill_buffer()).

The led activity helpers had a few long-standing bugs which corrupted
the command packets by inserting a second command byte and thereby
offsetting the RGB data and dropping the frequency in non-xmas mode.

In xmas mode, a related off-by-one error left the frequency field
uninitialised.

Fixes: 60a8fc017103 ("USB: add iuu_phoenix driver")
Reported-by: George Spelvin <lkml@sdf.org>
Link: https://lore.kernel.org/r/20200716085056.31471-1-johan@kernel.org
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
drivers/usb/serial/iuu_phoenix.c