HID: wacom: Remove static WACOM_PKGLEN_MAX limit
authorJason Gerecke <jason.gerecke@wacom.com>
Mon, 3 Mar 2025 19:55:18 +0000 (11:55 -0800)
committerJiri Kosina <jkosina@suse.com>
Tue, 4 Mar 2025 20:51:04 +0000 (21:51 +0100)
commit5e013ad206895e72d7da41bc1ae89d8cb499c3aa
tree07ca334e3ff3c1719e675855b065f42a22ff493f
parent58c9bf3363e596d744f56616d407278ef5f97f5a
HID: wacom: Remove static WACOM_PKGLEN_MAX limit

Rather than memcpy every packet that we receive from HID into our own
local fixed-size array, we can just access the data directly through
the original pointer. While we're at it, remove the few other places
that assume a fixed maximum packet size and make them dynamic (in
particular: temporary buffers created by the wacom_wac_queue_flush and
wacom_intuos_bt_process_data functions; and the pen_fifo FIFO).

To ensure pen_fifo allocation has access to the maximum used packet
length, this commit also moves the function call to occur a little
later in the probe process.

Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/wacom_sys.c
drivers/hid/wacom_wac.c
drivers/hid/wacom_wac.h